.NET フレームワークがドメイン証明書を検証する方法について、説明または (できれば) 参照を教えてください。
証明書トランスポート セキュリティを使用して BasicHttpBinding で構成された WCF サービスに接続しようとしています。サービスはマシン 1 にあり、クライアントはマシン 2 にあります。両方のマシンがドメインに参加しています。サービス証明書は、ドメインの証明機関によって発行されます。ただし、クライアント (私の場合は Visual Studio のサービス参照の追加ウィザード) がサービスとネゴシエートしているときに、証明書が信頼されていないという 3 つの考えられる理由を示す警告メッセージが表示されます。
- 企業が発行したセキュリティ証明書が untrust リストにありません。信頼できるかも。
- セキュリティ証明書の日付は有効です。
- ホスト 'Administrator' のセキュリティ証明書が、表示しようとしているページの名前と一致しません。(警告!!)
しかし、私は理由1について尋ねています、なぜですか?
一方、WcfTestClient を使用すると、次のエラーが表示されます。
URI: https://ip:port/svc
Metadata contains a reference that cannot be resolved: 'https://ip:port/svc'.
Could not establish trust relationship for the SSL/TLS secure channel with authority 'ip:port'.
The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.
The remote certificate is invalid according to the validation procedure.HTTP GET Error.
URI: https://ip:port/svc
There was an error downloading 'https://ip:port/svc'.
The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.
The remote certificate is invalid according to the validation procedure.
誰かここで何が起きているか教えてくれませんか?サービス証明書はどのように検証されますか? そして、デフォルトの手順をオーバーライドするために PermissivePolicy を書くように言わないでください。