https调用出现【基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系】错误

时间:2023-01-31 05:53:09

  今天不知道为什么网站访问就出现问题了,惊得我一头汗,别是我昨天打了log4,就影响今天的内容了,后来发现,确实不是,是写入流失败了,报【基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系】错误,后来让总线查,他们说是自己的接口链接证书失效了,正在补救。

  病急乱投医中网上查到解决方法:重写通信通道连接验证回调

  直接上代码:

 1 先加入命名空间:
2
3 using System.Net.Security;
4 using System.Security.Authentication;
5 using System.Security.Cryptography.X509Certificates;
6
7 再重载CheckValidationResult方法,返回true
8
9 public bool CheckValidationResult(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors)
10 { // 总是接受
11 return true;
12 }
13
14 然后在HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(url);前面加上如下一行代码:
15 ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(CheckValidationResult);

加上了之后发现立即就可以访问了,然而总线还在想替换证书,诶,随他去吧,双方都严谨点问题才会少出点!