c# 基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系
调用https出差,提示一个BUG:"基础连接已经关闭: 未能为SSL/TLS 安全通道建立信任关系"。
定义一个类,来对远程X.509证书的验证,进行处理,返回为true.我们要自己定义一个类,然后在客户单调用WCF服务之前,执行一次即可。代码如下:
using System.Net; using System.Net.Security; using System.Security.Authentication; using System.Security.Cryptography.X509Certificates; /// <summary> /// https访问设置证书问题 /// </summary> public static class Util { /// <summary> /// 设置证书安全性 /// </summary> public static void SetCertificatePolicy() { ServicePointManager.ServerCertificateValidationCallback += RemoteCertificateValidate; } /// <summary> /// 远程证书验证 /// </summary> private static bool RemoteCertificateValidate( object sender, X509Certificate cert, X509Chain chain, SslPolicyErrors error) { // trust any certificate!!! //System.Console.WriteLine("Warning, trust any certificate"); return true; } }
在WebRequest.Create("https://……").GetResponse();调用操作点前先调用这个方法: Util.SetCertificatePolicy();