web-dev-qa-db-ja.com

TLS 1.1およびTLS 1.2は、.NET 4.5および.NET 4.5.1のデフォルトで有効になっていますか

Windows 2012 Server R2では、TLS 1.0を無効にする必要があります。

ただし、.NET 4.5 Wcfサービスが実行されています。 TLS 1.0を無効にすると、「既存の接続がリモートホストによって強制的に閉じられました」というエラーが表示され、WCFサービスが実行されなくなることがわかりました。

TLS 1.1/1.2は、.NET 4.5および.NET 4.5.1でデフォルトで有効になっていますか?そうでない場合は、WCFプロジェクトのどこでTLS 1.1/1.2を使用するように強制しますか?

13
neildt

いいえ。さまざまなフレームワークバージョンで有効なデフォルトプロトコルは次のとおりです。

  • .NET Framework 4.5および4.5.1:SSLv3およびTLSv1
  • .NET Framework 4.5.2:SSLv3、TLSv1、およびTLSv1.1
  • .NET Framework 4.6以降:TLSv1、TLSv1.1、およびTLS1.2

ソース: [1][2]

ServicePointManagerクラスを使用して、具体的にはSecurityProtocolプロパティを設定することにより、アプリケーションがサポートするプロトコルを指定できます。この場合、次のように設定します。

System.Net.ServicePointManager.SecurityProtocol =
    SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;
58
Ian Kemp