首页 > Windows开发 > 详细

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

时间:2018-04-29 10:50:44      阅读:218      评论:0      收藏:0      [点我收藏+]

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

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!