在 .NET Framework 4.0 中使用 TLS 1.2 时出现问题

omk*_*ade 3 asp.net-mvc .net-4.0 windows-server-2008-r2 aaa-security-protocol tls1.2

我禁用了 TLS 1.0。因此,我们尝试在使用 .Net Framework 4.0 的 .Net 应用程序中使用 TLS 1.2。

我在开始时添加了此代码

System.Net.ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072;
Run Code Online (Sandbox Code Playgroud)

它在我的本地系统上完美运行。

但我不确定为什么当我在服务器(Windows Server 2008 R2)上部署代码时它不起作用。我检查了一切。服务器上存在.Net框架。但它仍然只在服务器上给出同样的问题。

我在这里缺少什么吗?

VMA*_*Atm 5

根据这篇文章

.NET 4.0支持最多TLS 1.0同时.NET 4.5支持最多TLS 1.2

但是,如果在同一环境中安装 .NET 4.5,应用程序定位.NET 4.0仍可支持最高 TLS 1.2 。安装在 之上,替换..NET 4.5.NET 4.0System.dll

所以基本上你需要升级你的服务器才能.Net 4.5启用TLS 1.2.

此外,您还可以简化代码并使其更具可读性:

using System.Net;

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
Run Code Online (Sandbox Code Playgroud)

相关 MSDN 文章: