访问https接口出现未能为SSL/TLS安全通道建立信任关系错误

有时候调用https接口时会提示如下错误:

基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系。

1,先加入命名空间:

1
2
3
4
5
using System.Net.Security;

using System.Security.Authentication;

using System.Security.Cryptography.X509Certificates;

2,再重载CheckValidationResult方法,返回true

1
2
3
4
5
public bool CheckValidationResult(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors)

    {   // 总是接受
        return true;
    }

3,然后在 HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(url); 前面加上如下一行代码:

1
2
ServicePointManager.ServerCertificateValidationCallback = 
new System.Net.Security.RemoteCertificateValidationCallback(CheckValidationResult);//验证服务器证书回调自动验证