Windows-Server-2003
伺服器不支持客戶端應用程序支持的密碼套件
我在伺服器的 Windows 事件日誌中收到此錯誤:
從遠端客戶端應用程序接收到 TLS 1.0 連接請求,但伺服器不支持客戶端應用程序支持的任何密碼套件。SSL 連接請求失敗。
當我嘗試從 Windows Server 2003 框連接到 Windows 7 框上的 Web 服務時。
如何將密碼套件添加到另一個支持的密碼套件?
(修復客戶端是理想的,但如果沒有伺服器解決方案也沒問題 - 我可以訪問所有涉及的盒子,我只想要它們之間的一些基本加密以保護隱私)。
除了數小時的Google搜尋和閱讀外,我還嘗試過:
- 檢查伺服器 Windows 事件查看器(發現密碼套件錯誤)
- 從http://support.microsoft.com/kb/948963向 test1 添加了密碼套件(沒有幫助)
- 將 TLS 1.0 添加到伺服器 Windows 系統資料庫中密碼套件中的協議(無更改)
- 安裝 IIS 工具,希望向 Schannel 添加更多協議(它沒有)
- 再次為客戶導出證書,但包含私鑰(無更改)
- 檢查伺服器和客戶端上安裝的密碼套件是否匹配(無法找到 win2k3 列出它們的位置)
- 將 TLS_RSA_WITH_AES_256_CBC_SHA(由上述修補程序安裝)添加到伺服器的密碼套件(不,已經在那裡)
解決方案是再次生成我的證書,這次強制使用 RSA 和 SHA1(儘管 SHA1 是預設值)。由於某種原因,Win Server 2k3 不能或不會使用帶有預設 makecert 證書的正確密碼。這是對我有用的命令行:
makecert -pe -r -ss my -sr localMachine -n “CN=domainnameoripaddressgoeshere.com” -e 01/01/2098 -a sha1 -eku 1.3.6.1.5.5.7.3.1 -sky exchange -sp “Microsoft RSA SChannel加密提供程序”-sy 12
Windows 7 在選擇密碼時使用新的 CNG(下一代密碼學)API。據我所知,Windows 2003 的 CNG 不可用。
但是,您可以安裝這些基於 AES 的密碼套件以在 Windows 2003 上使用:
- TLS_RSA_WITH_AES_128_CBC_SHA
- TLS_RSA_WITH_AES_256_CBC_SHA
這些是 Windows Vista 和 Windows 7 客戶端將嘗試與 TLS 1.0 及更高版本協商使用的第一批套件,OpenSSL 客戶端也支持這些套件。
為了使用這些,安裝KB948963