我们的网站是.NET 3.5版本,这意味着它不支持TLS 1.2。除了升级到.NET 4.5之外,还有其他方法可以实现TLS 1.2吗?
升级到4.5是最好的解决方案,但这将是一个巨大的项目,需要大量资源,而我们在2017年6月之前根本无法完成这些工作。
最佳答案
你需要:
如果是Windows Server 2008 R2,则需要.NET 3.5.1(https://support.microsoft.com/en-us/kb/3154518)
我相信以下内容将告诉.NET使用SCHANNEL允许的版本(我认为这是首选):
[HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft.NETFramework \ v2.0.50727]“ SystemDefaultTlsVersions” = dword:00000001
[HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft.NETFramework \ v2.0.50727]“ SystemDefaultTlsVersions” = dword:00000001
否则,使用TLS 1.1和1.2的另一种方法:
[HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft.NETFramework \ v2.0.50727]“ SchUseStrongCrypto” = dword:00000001
[HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft.NETFramework \ v2.0.50727]“ SchUseStrongCrypto” = dword:00000001
您还需要告知操作系统在SCHANNEL中启用Tls 1.2,格式如下:
[HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ SecurityProviders \ SCHANNEL \ Protocols \ TLS 1.2]
[HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ SecurityProviders \ SCHANNEL \ Protocols \ TLS 1.2 \ Client]“ DisabledByDefault” = dword:00000000“ Enabled” = dword:00000001
[HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ SecurityProviders \ SCHANNEL \ Protocols \ TLS 1.2 \ Server]“ DisabledByDefault” = dword:00000000“ Enabled” = dword:00000001
附加信息:
https://support.microsoft.com/en-us/kb/3135244
https://blogs.msdn.microsoft.com/dataaccesstechnologies/2016/07/12/enable-tls-1-2-protocol-for-reporting-services-with-custom-net-application/
关于api - Paypal TLS 1.2和.NET 3.5兼容性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37271871/