私の会社は、.NET WebサービスとそのWebサービスを使用するクライアントDLLを開発しました。 webserviceはssl経由で私たちのサーバー上でホストされ、証明書はGoDaddyによって提供され署名されています。 Webサービスにアクセスしようとすると、クライアントdllから次のエラーメッセージが表示される、ホストされた環境にいくつかのクライアントがあります。WebException SSL/TLSセキュアチャネルの信頼関係を確立できませんでした
System.Net.WebException基になる接続が閉じられました:SSL/TLSセキュリティで保護されたチャネルに対して信頼関係を確立できませんでした。
私たちの修正では、ホストされているサービスの多くで、それ自体が挑戦的であり、WSDLのURLに移動することが難しいです。 IEは、セキュリティ警告ダイアログを表示します。証明書の日付が有効であり、ページの名前と一致する有効な名前が、あなたが信頼することを選択していない会社によって発行されたことを示しています。 [はい]をクリックして続行すると、クライアントdllは正常にWebサービスに接続して正常に動作します。
GoDaddyが有効なサイト運営者リストに登録されていなかった理由はありますか?実行しているすべてのサーバーにGoDaddyが有効な権限を持っています。私は、セキュリティ上の理由から、GoDaddyの権限をアンインストールしたと推測していますが、他に根本的な問題はないと全面的には確信していません。
残念ながら、私はローカルでこれを再現しようとすることはあまりありませんでした。私がインターネットオプションに行き、GoDaddyの権限を取り除いて私たちのサービスを打つと、sslは正常に動作します。私は出版社のリストに戻って、GoDaddyがすぐに戻ってくる。だから私の2番目の質問は、どうやってGoDaddyを取り除いて無効な証明書の警告を得ることができるのかということです。
さて、最後の質問です。コードに無効な証明書を無視するようWebサービスに指示する方法がありますか?私はWCFでプログラム的にこれをやっているが、古いWebサービスではないことについていくつかの記事を見てきました。
で安全な証明書の要求に応じて正確に解決し、あなたのDNSのですか?つまり: 'https:// wsdl.companydomain.local'またはSSL証明書に指定されているもの。 –
私はそう信じています。私はここで証明書を検証しました。http://www.sslshopper.com/ssl-checker.html。 –
あなたは一度に多すぎる質問をしています。ローカルマシンとサーバーマシン上の信頼されたルート証明書リストは注意深く保護されたリソースであり、頻繁には更新されません。誰でも新しいルート証明書を作成できます。 GoDaddyがMicrosoft配布リストにない追加のルート証明書を作成している可能性があり、SSL証明書にその1つが署名している可能性があります。また、SSL証明書に署名するために使用されたルート証明書が侵害され、「信頼できない」リストに置かれている可能性があります。これは、SSL証明書が信頼できないことを意味します。 – dthorpe