猿问

请求被中止:无法创建ssl/tls安全通道。

请求被中止:无法创建ssl/tls安全通道。

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

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

我们知道服务器没有包含所使用路径的有效HTTPS证书,但是为了避免这个问题,我们使用了从另一个StackOverflow帖子中获取的以下代码:

private void Somewhere() {
    ServicePointManager.ServerCertificateValidationCallback += new RemoteCertificateValidationCallback(AlwaysGoodCertificate);}private static bool AlwaysGoodCertificate(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors policyErrors) {
   return true;}

问题是,服务器永远不会验证证书,并在上面的错误中失败。有人知道我该怎么做吗?


我应该提到的是,几周前,我和一位同事进行了测试,与我上面所写的类似的东西运行得很好。我们发现的唯一“主要区别”是,我使用的是Windows 7,而他使用的是WindowsXP。有什么改变吗?


慕勒3428872
浏览 4527回答 3
3回答

翻翻过去那场雪

在.NET 4.5中,对此的解决方案是ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;如果您没有.NET 4.5,那么请使用ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072;
随时随地看视频慕课网APP
我要回答