8

この質問をうまく表現するために必要な情報がすべて揃っているかどうかわかりませんが、ご容赦ください。

自己署名 SSL 証明書で保護されているローカル Web ページ (ローカルは 192.168.* を意味します) があります。System.Net.HttpWebRequest オブジェクトを使用してこのページにアクセスしようとしていますが、奇妙な問題が発生しています。

[SSL 2.0 を使用する] オプションがオフになっている Internet Explorer でこのページにアクセスすると、ブラウザは接続を確立できないかのようにエラーを返します。(つまり、サーバー送信エラーではなく、ブラウザー接続エラーです。) [SSL 2.0 を使用する] オプションがオンになっている場合、ページは正常に機能し、これが自己署名証明書であるという標準の警告が表示されます。 、続行しますか、など。

今私の問題は、HttpWebRequest オブジェクトを使用してこのページにアクセスしようとしているときに返されるエラーは、「SSL 2.0 を使用する」がオフになっているときに IE がスローするエラーと同じように、接続が予期せず閉じられたことです。(自己署名証明書であるという事実を無視するコードを既に用意していますが、そこまでは進んでいません。)

System.Net.HttpWebRequest がリクエストを行っているときに、「SSL 2.0 を使用する」ようにするにはどうすればよいですか?

4

1 に答える 1

16

私は Ssl3 を扱っているときにこの問題に遭遇しましたが、同じアドバイスが SSL2 に有効かどうかはわかりません。

この問題を回避するには、次のようにセキュリティ プロトコルに Ssl3 フラグを設定します。

ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3;

詳細については、次のリンクを参照してください。

MSDN の system.net.servicepointmanager.securityprotocol

MSDN のセキュリティ プロトコル列挙

あなたが運が良ければ、彼らはあなたを正しい方向に向けるかもしれません:)

于 2008-10-04T00:10:32.533 に答える