zoukankan      html  css  js  c++  java
  • c# 基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系(转)

    今天在通过C#访问Webservice时遇到一个问题,首先通过对方提供的wsdl生成了调用代理类,在测试能否正常访问时,访问正式环境,一切正常,当访问测试环境是,总是报“基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系”  InnerException信息为:根据验证过程,远程证书无效。

    在网上找到解决方法:

    http://social.microsoft.com/Forums/zh-CN/wcfzhchs/thread/1591a00d-d431-4ad8-bbd5-34950c39d563

    依照上面的描述操作,问题解决,以作纪念

    分以下三步:

    1. 添加引用

        using System.Net;
        using System.Net.Security;
        using System.Security.Authentication;
        using System.Security.Cryptography.X509Certificates;

    2. 在生成的代理类中添加RemoteCertificateValidate函数

        private static bool RemoteCertificateValidate(object sender, X509Certificate cert,

                                                                              X509Chain chain, SslPolicyErrors error){
                // trust any certificate!!!
                System.Console.WriteLine("Warning, trust any certificate");
                //为了通过证书验证,总是返回true
                return true;
        }

    3. 在生产的代理类的构造函数中添加

        ServicePointManager.ServerCertificateValidationCallback += RemoteCertificateValidate;//验证服务器证书回调自动验证

  • 相关阅读:
    【CSS】 布局之圣杯布局
    PHP函数
    spry菜单栏(二)
    正则表达式补充
    练习用php做表格
    PHP入门
    MySQL常用函数
    数据库习题
    总结
    Navicat
  • 原文地址:https://www.cnblogs.com/dwfbenben/p/2486499.html
Copyright © 2011-2022 走看看