该请求被中止:无法创建SSL / TLS安全通道?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (26)

WebRequest由于此错误消息,我们无法连接到HTTPS服务器:

The request was aborted: Could not create SSL/TLS secure channel.

我们知道服务器没有使用有效的HTTPS证书,但为了绕过这个问题,我们使用了我们从另一个StackOverflow文章中获得的以下代码:

private void Somewhere() {
    ServicePointManager.ServerCertificateValidationCallback += new RemoteCertificateValidationCallback(AllwaysGoodCertificate);
}

private static bool AllwaysGoodCertificate(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors policyErrors) {
   return true;
}

问题在于服务器从不验证证书,并因上述错误而失败。有谁知道我应该怎么做?

我应该提到一位同事和我在几周前完成了测试,并且它与我上面写的类似的东西工作正常。我们发现唯一的“主要区别”是我使用的是Windows 7并且他使用的是Windows XP。这会改变什么吗?

提问于
用户回答回答于

虽然代码在Windows XP中工作,但在Windows 7中,必须在开始时添加此代码:

ServicePointManager.Expect100Continue = true;
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
// Use SecurityProtocolType.Ssl3 if needed for compatibility reasons
用户回答回答于

扫码关注云+社区