4
我有下面的代碼,這導致了WebException,我無法弄清楚爲什麼我的生活。 Windows 8 RTM上的VS2012/.Net 4.5 RTM。ServerCertificateValidationCallback被忽略
ServicePointManager.CertificatePolicy = null;
ServicePointManager.CheckCertificateRevocationList = false;
ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };
var request = WebRequest.Create(url) as HttpWebRequest;
request.ServerCertificateValidationCallback = delegate { return true; };
var response = request.GetResponse();
WebException was unhandled
The request was aborted: Could not create SSL/TLS secure channel.
我最初有回調作爲自己的方法,它從來沒有被調用過。任何想法爲什麼我無法忽略SSL驗證錯誤並將所有敏感數據發送到未知Web服務器?
當您嘗試使用其他SSL服務器(如https:// www.google.com)時會發生什麼?我認爲你的連接在啓動SSL/TLS握手之前失敗了。 – Dai
你說得對,我使用了另一臺服務器(使用有效的SSL,但通過IP檢索,原始服務器自簽名),並執行回調並檢索內容。任何想法可能導致連接在回調之前中斷,當它在Firefox和IE10中都可用時? – Joe
我不能告訴你 - 你必須使用像Wireshark這樣的數據包嗅探器來查看你的程序與Firefox/IE相比的表現。但是有幾件事情浮現在腦海中:您是否使用了錯誤的端口號,或者沒有足夠快地啓動TLS握手? – Dai