1. ホーム
  2. c#

[解決済み] System.Net.WebRequestはどのバージョンのSSL/TLSをサポートしていますか?

2023-07-06 10:36:56

質問

SSL3が脆弱であることが判明した今、その対策として POODLE 攻撃に対して脆弱であることがわかりました。

System.Net.WebRequest は、任意の https Uri に接続する際に、どのバージョンの SSL/TLS を使用しますか?

私は、いくつかのサードパーティの API に接続するために WebRequest を使用しています。 そのうちの 1 つは、SSL 3 を使用するすべての要求をブロックすると言いました。しかし、WebRequest は .Net コア フレームワークの一部 (4.5 を使用) なので、それがどのバージョンを使用するかは明らかではありません。

どのように解決するのですか?

System.Net.WebRequest を使用する場合、アプリケーションはサーバーと交渉して、アプリケーションとサーバーの両方がサポートする最高の TLS バージョンを決定し、これを使用します。この仕組みの詳細については、こちらを参照してください。

http://en.wikipedia.org/wiki/Transport_Layer_Security#TLS_handshake

サーバーがTLSをサポートしていない場合、SSLにフォールバックします。したがって、潜在的にSSL3にフォールバックする可能性があります。.NET 4.5がサポートするすべてのバージョンは、ここで見ることができます。

http://msdn.microsoft.com/en-us/library/system.security.authentication.sslprotocols(v=vs.110).aspx

あなたのアプリケーションがPOODLEに対して脆弱にならないようにするために、この説明に従って、アプリケーションが動作しているマシンでSSL3を無効にすることができます。

https://serverfault.com/questions/637207/on-iis-how-do-i-patch-the-ssl-3-0-poodle-vulnerability-cve-2014-3566