在.NET 4.5.1上启用TLS 1.2

3
很多文章似乎建议添加以下注册表键来在.NET Framework 4.5.1上启用TLS 1.2。
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NetFramework\v4.0.30319
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NetFramework\v4.0.30319

SchUseStrongCrypto = 1

但是当我们进行测试时却不是这样,它仍在使用TLS 1.0。我们也尝试安装IISCrypto并启用所有协议(TLS 1.0、1.1、1.2),但这也失败了(包括重新启动服务器)。IISCrypto在此处创建了所有正确的密钥,但没有成功:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\

可以解决问题的方法是安装.NET Framework 4.6.1。但在这种情况下,我们无法升级。我们需要采取哪些措施来启用.NET 4.5.1的TLS 1.2?


有找到任何解决方案吗?我也遇到了同样的问题,但是我使用的是.NET Framework 4.5,并尝试连接Magento Soap 1.2,有什么解决方案吗? - Usman Younas
1个回答

4
你是否将其设置为默认协议?否则,它可能会被支持但不是默认协议:
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;

这可能是情况,但我猜需要对每个应用程序进行代码更改? - FBryant87
1
@FBryant87 是的,我不知道是否可以在配置中完成,因为迄今为止我只需要关心单个应用程序。你说你启用了所有协议(1.0、1.1、1.2),如果你只启用1.2会发生什么?可能只是因为协商默认为1.0。 - Ronan Thibaudau

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接