WebRequest为Windows Server 2008 R2的TLS 1.2失败

时间:2015-07-10 07:25:29

标签: c# asp.net ssl iis-7 windows-server-2008-r2

我知道有类似的问题已被提出,但我的问题似乎有所不同,因为我已经尝试了许多我在网上找到的解决方案。我的问题如下。

我正在运行安装在IIS 7上的.net 4.5.1 MVC应用程序,该应用程序向仅支持TLS 1.2的外部服务器发出安全出站请求。当我从Windows 7主机运行应用程序时,一切顺利,但在Windows Server 2008 R2上的文件是:

“请求已中止:无法创建SSL / TLS安全通道。”

一开始它在我的本地Windows 7上也失败了,直到我在WebRequest之前添加了这一行并且工作了:

System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;

但这并没有使它在服务器上运行。

我也尝试添加:

ServicePointManager.ServerCertificateValidationCallback += new RemoteCertificateValidationCallback(AllwaysGoodCertificate);
ServicePointManager.Expect100Continue = true;

但没有做任何改变。

我还尝试在服务器上添加TLS 1.2协议,如此处所述[{3}}

重新启动机器,但仍然没什么新意。

非常感谢你提前,我对此问题非常绝望:S

1 个答案:

答案 0 :(得分:0)

我解决了改变这一行的问题

    System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;

这个

    System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;