無法為 SSL/TLS 安全通道建立信任關係,忽略憑証檢查的方式

转自:http://www.dotblogs.com.tw/rainmaker/archive/2010/11/30/19803.aspx

 

前言

在ASP.NET 2.0 WEB AP中去Call Https的Web Service時,如果會發生「WebException: 基礎連接已關閉: 無法為 SSL/TLS 安全通道建立信任關係。」,問了客戶IT後發現可以忽略憑証的檢查!

實作

用以上的Key Word到網路上找,可以找到一堆的解法! 可以寫在Page或是寫在Global.asax之中! 我選了個最Easy的方式,直接寫在Global.asax之中的Application_Start事件中寫入以下的Code,就可以了!

	void Application_Start(object sender, EventArgs e) 

{

    System.Net.ServicePointManager.ServerCertificateValidationCallback =

new System.Net.Security.RemoteCertificateValidationCallback(

    delegate(object MySender,

        System.Security.Cryptography.X509Certificates.X509Certificate MyCertificate,

        System.Security.Cryptography.X509Certificates.X509Chain MyChain,

        System.Net.Security.SslPolicyErrors MyErrors)

    {

        if (MySender is System.Net.WebRequest)

        {

            //忽略憑証檢查,一律回傳true

          return true;

        }

        return false;

    });

}
以上範例為網路上Copy來,並加以改寫的哦!

你可能感兴趣的:(ssl)