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

Posted Diego

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# 基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系。相关的知识,希望对你有一定的参考价值。

今天写程序的时候调用到一个第三方的DLL文件,本机调试一切都正常,但是程序不是到服务器以后一直提示一个BUG:"基础连接已经关闭: 未能为SSL/TLS 安全通道建立信任关系"。
后来把DLL文件进行反编译,发现是在获得请求的时候出错了。

引用  WebResponse response = WebRequest.Create("https://……").GetResponse();

定义一个类,来对远程X.509证书的验证,进行处理,返回为true.我们要自己定义一个类,然后在客户单调用WCF服务之前,执行一次即可。代码如下:

 

 public static class Util
    {
        /// <summary>
        /// Sets the cert policy.
        /// </summary>
        public static void SetCertificatePolicy()
        {
            ServicePointManager.ServerCertificateValidationCallback += RemoteCertificateValidate;
        }

        /// <summary>
        /// Remotes the certificate validate.
        /// </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();

以上是关于C# 基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系。的主要内容,如果未能解决你的问题,请参考以下文章

C#动态调用webService出现 基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系。

C#动态调用webService出现 基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系。

解决“基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系“的问题

Entity Framework4.3安装以及错误(基础连接已经关闭:未能为SSL/TLS……)问题解决!

错误:C# 底层连接已关闭:无法为 SSL/TLS 安全通道建立信任关系

XmlDocument.Load(url) url是https远程时,报错