無法為 SSL/TLS 安全通道建立信任關係,忽略憑証檢查的方式
前言
在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,就可以了!
以上範例為網路上Copy來,並加以改寫的哦!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; }); }
Hi,
亂馬客Blog已移到了 「亂馬客 : Re:從零開始的軟體開發生活」
請大家繼續支持 ^_^