2015-05-19 73 views
3

正如在this後,我有完全相同的錯誤在網絡日誌(返回代碼= AlgorithmMismatch),除了我使用HttpWebRequest結果在「請求被中止:無法創建SSL/TLS安全通道」並返回代碼= AlgorithmMismatch

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 

爲了避免POODLE漏洞,regkey已被設置爲1(.. \ Protocols \ SSL 2.0 \ Client),但仍然出現此錯誤。我的生產SSL證書已被添加到Firefox和安全的web服務是可及的,並正常工作。我確切地說,這個錯誤發生在兩個環境(Windows Server 2012和Windows 7)上,並且測試SSL證書一切正常。有任何想法嗎?

回答

0
..\Protocols\SSL 2.0\Client 

這是錯誤的關鍵,使TLS1.2(SSL * 4 **更名爲TLS1.0而發展,SSL2是老得多,從根本上打破,不應該使用)。

的右鍵被賦予在MS KB頁:https://support.microsoft.com/en-gb/kb/245030

但是,你需要在按鍵設置值,包括:

…\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server 

(並有大量的簡化版本的指導來設置的東西)

即使客戶端和服務器都能達成TLS1.2協議套件,仍然存在導致無法創建安全通道的問題(例如,客戶端不信任服務器的證書)。這將需要更多的細節(從異常類型消息開始,並且對於內部異常遞歸)。

+0

「...... SSL * 4 **更名爲TLS1.0」 - 不,TLS 1.0是SSL 3.1,TLS 1.1是SSL 3.2 ... –

+0

@SteffenUllrich好的,我的回憶是不正確的,但重點是「SSL 2.0」與TLS沒有任何關係,重命名發生在任何RFC發佈之前。 – Richard

+0

我創建了您提到的regkey(.. \ TLS 1.2 \ Client),將該值設置爲0並重新啓動系統,但仍然無效。正如我之前所做的那樣,通過測試SSL證書,它可以與TLS 1.2協同工作。此外,使用生產證書,它可與ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls一起使用,但不適用於 ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls1 | SecurityProtocolType.Tls2。 –

相關問題