我有一个服务器服务和一个使用WCF的客户服务,它们都是用C#和DotNet 4.0版和Visual Studio 2010构建的。
我在服务器上创建并安装了自签名SLL和CA证书。到现在为止还挺好。一切正常。客户端服务能够从其他计算机与服务器服务进行通信。
但是,连接详细信息显示它正在使用TLS 1.0。
有没有办法使用DotNet 4.0实现TLS 1.1或1.2?它似乎没有,但我希望有人有一种适合他们的技术。
答案 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,则需要以下内容:
安装.NET Framework 4.6或更高版本。默认情况下,需要使用TLS 1.2作为协议并结合正确的Windows注册表项。
在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值。