2011-02-25 52 views
5

我們已將幾個.NET頁面引入到經典ASP應用程序中。當用戶點擊其中一個.NET頁面時,我們使用HttpWebRequest從ASP端獲取會話變量值,方法是將請求發送到具有我們想要的會話變​​量名稱的ASP類頁面。除了以下情況,此方法可行。HttpWebRequest導致「請求被中止:無法創建SSL/TLS安全通道」

在我們的生產服務器上,我們的IT人員已經禁用了一些註冊表黑客攻擊的弱密碼算法。我們想要128強制128(或者我知道更多關於安全性的人告訴我比我多)。但是,這會導致我們的會話共享請求中止並出現以下錯誤。

The request was aborted: Could not create SSL/TLS secure channel 

我們打開跟蹤記錄在this article描述。相關的行似乎是這些。

System.Net Information: 0 : [3892] InitializeSecurityContext(credential = System.Net.SafeFreeCredential_SECURITY, context = 1b6acdd0:171a28, targetName = secure.xxx.com, inFlags = ReplayDetect, SequenceDetect, Confidentiality, AllocateMemory, InitManualCredValidation) 
System.Net Information: 0 : [3892] InitializeSecurityContext(In-Buffers count=2, Out-Buffer length=0, returned code=AlgorithmMismatch). 
System.Net.Sockets Verbose: 0 : [3892] Socket#18136189::Dispose() 
System.Net Error: 0 : [3892] Exception in the HttpWebRequest#51004322:: - The request was aborted: Could not create SSL/TLS secure channel. 
System.Net Error: 0 : [3892] Exception in the HttpWebRequest#51004322::GetResponse - The request was aborted: Could not create SSL/TLS secure channel. 

唯一的金塊我可以從這些信息得到的是,這個問題是一個AlgorithmMismatch,但我不知道該怎麼做這一點。

我已經閱讀過一件事,但我們還沒有嘗試過,在我們提出請求之前添加了以下代碼。似乎有這樣一個簡單的改變可能會解決這個問題算法匹配

ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 
+0

什麼是ASP框和後端的操作系統?哪些算法在後端被禁用? – feroze 2011-02-28 01:06:37

回答

2

我們終於想通了。除了禁用弱密碼之外,IT人員還調整了其他一些設置。他們爲HKLM \ SYSTEM \ CurrentControlSet \ Control \ SecurityProviders \ SCHANNEL \ Protocols \ SSL 3.0 \ Client設置了啓用(DWORD)值爲0。這意味着該機器無法生成SSL請求。對於該鍵,將Enabled從0更改爲1可使所有內容都起作用。

相關問題