2008-10-03 17 views
8

我不知道我是否擁有所有必要的信息來說明這個問題,所以請耐心等待。如何獲得System.Web.HttpWebRequest對象以使用SSL 2.0?

我有一個本地網頁(本地含義是192.168。*),它受到自簽名SSL證書的保護。我試圖使用System.Net.HttpWebRequest對象訪問此頁面,但我遇到了一個奇怪的問題。

如果在Internet Explorer中使用「使用SSL 2.0」選項關閉此頁面,瀏覽器將返回錯誤,就好像它無法建立連接一樣。 (換句話說,瀏覽器連接錯誤,而不是服務器發送的錯誤。)如果「使用SSL 2.0」選項打開,該頁面正常工作,您會收到標準警告,表示這是一個自簽名證書,你想繼續,等等(奇怪的是,Firefox,據說沒有打開SSL 2.0,工作得很好。)

現在我的問題是,我試圖訪問此頁面的HttpWebRequest對象,並且返回的錯誤是連接意外關閉,就像在「使用SSL 2.0」關閉時IE發生的錯誤一樣。 (我已經有了代碼來忽略它是自簽名證書的事實,但它甚至沒有那麼深。)

如何獲得System.Net.HttpWebRequest,以及「使用SSL 2.0 「當它提出要求時?

回答

15

我在處理Ssl3時自己遇到了這個問題,但我不確定相同的建議是否適用於SSL2?

要解決我設置了SSL3標誌上的安全協議,像這樣的問題:

ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3;

請查看以下鏈接瞭解詳情:

system.net.servicepointmanager.securityprotocol on MSDN

security protocol enumeration on MSDN

如果你幸運的話,他們可能會指引你正確的方向:)

+0

就是這樣!只要我明確將其設置爲SSL3,它就可以工作。謝謝! – 2008-10-04 08:44:49

相關問題