在我的公司環境中,有一個透明代理需要憑證才能訪問互聯網(每四小時)。在我的應用程序成功通過的憑據是這樣的:透明代理在通過https訪問時出現SSL錯誤
var client = new WebClient();
client.Credientals = new NetworkCredential("username", "password");
string result = client.DownloadString("http://...");
// this works!
然而,當我INTIAL請求是一個「https://開頭的」 URL,有一個異常拋出:「基礎連接已關閉:無法建立信任關係爲SSL/TLS安全通道。「
現在我目前的解決辦法是:
- 漁獲引發WebException拋出訪問時「https://開頭的」 URL
- 添加我的憑據到一個新的請求到任意的「http:// 「網站
- (這應該‘開放’互聯網四小時的窗口)
- 回去再試試‘https://開頭’請求
我想知道是否有更好/更清潔的方法來做到這一點?
這似乎是一個壞主意。你真的想在清晰的情況下公開潛在的敏感數據嗎? – 2011-12-22 19:31:43
沒有敏感數據通過明文發送(據我所知)。我添加到通用「http」請求的憑證被透明代理攔截。然後我重試了原始的「https」請求(自透明代理認證了我之後,它現在起作用) – Brandon 2011-12-22 19:36:08
聽起來你正在構建更多的中間人或傳遞服務器而不是真正的代理服務器(類似但是不同)。無論哪種方式,如果您允許代理的用戶允許任何網站通過它,您可能會暴露敏感數據。 – 2011-12-22 19:40:48