在WCF和DotNet 4.0中使用TLS 1.1或1.2?

时间:2018-02-14 11:29:01

标签: c# windows wcf visual-studio-2010 ssl

我有一个服务器服务和一个使用WCF的客户服务,它们都是用C#和DotNet 4.0版和Visual Studio 2010构建的。

我在服务器上创建并安装了自签名SLL和CA证书。到现在为止还挺好。一切正常。客户端服务能够从其他计算机与服务器服务进行通信。

但是,连接详细信息显示它正在使用TLS 1.0。

有没有办法使用DotNet 4.0实现TLS 1.1或1.2?它似乎没有,但我希望有人有一种适合他们的技术。

1 个答案:

答案 0 :(得分:0)

是的,可以在面向.NET Framework 4.0的.NET应用程序中使用TLS 1.1和1.2,但是您需要安装.NET 4.6(您不需要在应用程序中以4.6为目标)。 TLS 1.2已添加到.NET 4.5中,但如果没有代码更改,将无法使用TLS 1.2。

如果您希望现有的.NET 4.0代码使用TLS 1.2,则需要以下内容:

  1. 安装.NET Framework 4.6或更高版本。默认情况下,需要使用TLS 1.2作为协议并结合正确的Windows注册表项。

  2. 设置以下.NET Framework strong cryptography registry keys

  3. 在32位和64位版本的Windows上: [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319] "SchUseStrongCrypto"=dword:00000001

    在64位版本的Windows上: [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319] "SchUseStrongCrypto"=dword:00000001

    在64位系统上运行时,32位应用程序使用WOW6432Node值。

    有关详细信息,请参阅:https://github.com/TheLevelUp/pos-tls-patcher