zoukankan      html  css  js  c++  java
  • https请求时出错:Could not establish trust relationship for the SSL/TLS secure channel

    当我在用NET命名空间下获取URL的时候,提示如下错误:

    The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.

    使用传输安全模式,证书建立SSL,宿主端口证书配置完毕,但是客户调用服务出错。

    Could not establish trust relationship for the SSL/TLS secure channel with authority 'computer:9001'.
    不能和授权计算机为 SSL/TLS 安全通道建立信任关系

    【1】问题分析:
           Could not establish trust relationship for the SSL/TLS secure channel with authority 'computer:9001'.
    不能和授权计算机为 SSL/TLS 安全通道建立信任关系.
           实际原因和证书有很大关系,这里证书是跟证书颁发机构信任的证书,在客户端和服务端建立安全会话的时候,无法信任此证书。
        另外一个可能的原因是你其他域里也使用此一个证,这个也有可能导致错误。
    【2】解决办法:

    定义一个类,来对远程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;
            }
        }
    View Code

    然后,你要在调用请求HTTPS时,先调用这个方法: Util.SetCertificatePolicy();

  • 相关阅读:
    MySql的约束
    这个充满恶意的世界啊,一不小心就掉里
    hack
    jQuery.rotate.js参数
    代码在ie9中不能正确执行
    ie6,ie7,ie8 css bug兼容解决方法
    常用CSS缩写语法总结
    前端CSS规范整理_转载、、、
    JS定义数组,初始化
    php js数组问题
  • 原文地址:https://www.cnblogs.com/sjns/p/4806911.html
Copyright © 2011-2022 走看看