我知道有类似的问题已被提出,但我的问题似乎有所不同,因为我已经尝试了许多我在网上找到的解决方案。我的问题如下。
我正在运行安装在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
答案 0 :(得分:0)
我解决了改变这一行的问题
System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
这个
System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;