SSL を使用するように構成された IIS で実行されている WCF サービスがあり、有効な証明書が既にインストールされて実行されています。でウェブサイトにアクセスする
https://my_website/anypage.aspx
ページにアクセスできます。URL にアクセスする
https://my_website/mywcfservice.svc
「サービスを作成しました。このサービスをテストするには、クライアントを作成し、それを使用してサービスを呼び出す必要があります(...)」という Web サービス ページが表示されます。とにかく、「この Web サイトのセキュリティ証明書に問題があります」という警告ページが表示され、[この Web サイトに進む] をクリックすることに注意してください。
サーバー側では、web.config は次のように構成されます。
<security mode="Transport">
<transport clientCredentialType="None" />
</security>
... ... ...
クライアント側では、プロキシまたは構成ファイルを使用していません。次のようなコードのみを使用して接続しています。
this.Channel = new ChannelFactory<T>(binding, new EndpointAddress(serviceUri));
((WSHttpBinding)this.Channel.Endpoint.Binding).Security.Mode = SecurityMode.Transport;
((WSHttpBinding)this.Channel.Endpoint.Binding).Security.Transport.ClientCredentialType = HttpClientCredentialType.None;
this.Channel.CreateChannel();
クライアントからコードで接続するという強力なルールがあるため、他の方法は使用できません。チャネルは十分に開かれていますが、メソッドを呼び出すと、「検証手順に従ってリモート証明書が無効です」というエラーが表示されます。
httpsなしで問題なく動作していました。
クライアント側では、「信頼されたルート証明機関\証明書」に多くの証明書があります。それらはすべてサーバー側でも信頼されています。
クライアント側またはサーバー側のどこに問題があるのでしょうか?? クライアント側で使用する非常に正確な証明書を 1 つ指定する必要があるのではないでしょうか??
助けていただければ幸いです。