码迷,mamicode.com
首页 > Windows程序 > 详细

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

时间:2018-04-29 12:05:30      阅读:277      评论:0      收藏:0      [点我收藏+]

标签:color   util   ror   sys   size   ati   service   font   引用   

今天写程序的时候调用到一个第三方的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 安全通道建立信任关系。

标签:color   util   ror   sys   size   ati   service   font   引用   

原文地址:https://www.cnblogs.com/xingyadian/p/8970516.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!