當嘗試使用HttpWebRequest的從我的開發服務器檢索頁面,我得到一個網站例外:ASP.NET基礎連接已關閉:無法建立信任RELAT
基礎連接已關閉:無法建立信任關係爲SSL/TLS安全通道「。遠程證書是無效的根據驗證程序...
我試圖讀取的URL是一個普通的舊http://myserver.com/mypage.asp - 沒有SSL。生產服務器有一個有效的證書,所以這不應該是一個問題,但我們的開發服務器不。
幫助!
當嘗試使用HttpWebRequest的從我的開發服務器檢索頁面,我得到一個網站例外:ASP.NET基礎連接已關閉:無法建立信任RELAT
基礎連接已關閉:無法建立信任關係爲SSL/TLS安全通道「。遠程證書是無效的根據驗證程序...
我試圖讀取的URL是一個普通的舊http://myserver.com/mypage.asp - 沒有SSL。生產服務器有一個有效的證書,所以這不應該是一個問題,但我們的開發服務器不。
幫助!
找到一個很好的答案在這裏:
http://blog.jameshiggs.com/2008/05/01/c-how-to-accept-an-invalid-ssl-certificate-programmatically/
生產並不好,但我解決了開發服務器的問題。
如果在將證書添加到測試服務器的受信任的根證書頒發機構之後仍然遇到此問題,請確保將它添加給所有用戶,而不僅僅是當前用戶。
的更多信息: http://brainof-dave.blogspot.com/2008/08/remote-certificate-is-invalid-according.html
不幸的是,@DavidLively提供的鏈接不再可用。您可以使用它的Web歸檔:(!不要在生產代碼中使用此)http://web.archive.org/web/20120830211353/http://blog.jameshiggs.com/2008/05/01/c-how-to-accept-an-invalid-ssl-certificate-programmatically/
此外,從代碼,我這樣做是爲了讓任何證書,有效或無效:
ServicePointManager.ServerCertificateValidationCallback += new RemoteCertificateValidationCallback(AcceptAnyCertificate);
private static bool AcceptAnyCertificate(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors policyErrors)
{
return true;
}
+ 1自2009年以來,我已經開始將代碼實際*放在答案中。 :) – 2013-07-17 14:18:18