私の会社では、.NET Web サービスと、その Web サービスを使用するクライアント DLL を開発しました。Web サービスは SSL 経由で当社のサーバーでホストされており、証明書は GoDaddy によって提供および署名されています。ホスト環境にクライアントがあり、Web サービスにアクセスしようとすると、クライアント dll から次のエラー メッセージが表示されます。
System.Net.WebException 基になる接続が閉じられました: SSL/TLS セキュア チャネルの信頼関係を確立できませんでした。
私たちの修正は、サーバー上で IE を開いてもらうことでした。これは、多くのホストされたサービスにとってそれ自体が課題であり、WSDL の URL に移動します。次に IE は、セキュリティ警告ダイアログを表示します。証明書の日付は有効であり、ページの名前と一致する有効な名前ですが、信頼することを選択していない会社によって発行されたことが示されています. [はい] をクリックして続行すると、クライアント dll は Web サービスに正常に接続し、通常どおり動作します。
GoDaddy が有効なパブリッシャー リストに含まれていなかった理由を知っている人はいますか? 私たちが実行しているすべてのサーバーには、有効な機関として GoDaddy があります。セキュリティ上の理由から、彼らは GoDaddy の権限をアンインストールしたと推測していますが、他に根本的な問題がないことを完全には確信していません.
残念ながら、これをローカルで再現しようとしてもうまくいきませんでした。インターネット オプションにアクセスして GoDaddy オーソリティを削除し、当社のサービスにアクセスすると、ssl は問題なく動作します。パブリッシャーのリストに戻ると、GoDaddy がすぐに表示されます。2 番目の質問は、無効な証明書の警告が表示されるように、GoDaddy を削除する方法を教えてください。
では、最後の質問です。無効な証明書を無視するように Web サービスに指示できるコードの方法はありますか。古い Web サービスではなく、WCF を使用してプログラムでこれを行うという投稿を見たことがあります。