2016-08-10 5 views
0

私は発信要求を送信するWCFサービスを持っています。現在、SSL 3.0またはTLS 1.0を使用しています。すべての接続でServicePointManager.SecurityProtocolをTLS 1.2に強制します。

私が現在リクエストを送信しているサービスは、TLS 1.2のみ受け付けています。

リクエストの直前(リクエストごと)にSecurityProtocolTypeを設定できますが、リクエストごとに指定することなく、すべての送信リクエストに対してTLS 1.2を使用したいと考えています。

このコードは、要求のためにそれを正しく設定しています

<OperationContract(), WebGet(UriTemplate:="...")> 
Public Function SomeService() 

    System.Net.ServicePointManager.SecurityProtocol = (System.Net.SecurityProtocolType) 3072; // 3072 is TLS 1.2 

    // Do request 

End Function 

しかし、私はすべての要求に対してTLS 1.2を使用するようにWCFを設定する方法を見ることができません。私はGlobal.asaxApplication_StartApplication_BeginRequestに、上記のステートメントを配置しようとしたが、時間によっては、要求を行うことになる、SecurityProtocolではレジストリへのアクセス権を持っている場合は、次のキーを適用することができますバックSSL3/TLS1.0

答えて

1

にある: registry key

これにより、トランスポート層のWindowsレベルでTLS 1.2が適用されるため、コードを変更する必要はありません。

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319] 
"SchUseStrongCrypto"=dword:00000001 

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319] 
"SchUseStrongCrypto"=dword:00000001 

これらは、上記のファイルで変更キーです

関連する問題