在 SQL Server 計算機上實作加密套件原則之後發生「客戶端無法建立連線」錯誤
本文可協助您解決在伺服器上實作加密套件原則之後所發生的問題。 如果客戶端和伺服器上支援的加密套件不相符,連線可能會失敗。
徵狀
在伺服器上實作加密套件原則之後,您會收到下列錯誤訊息:
遠端主機已強制關閉現有的連線。 [SQLSTATE 42000] (鏈接伺服器 “DB name” 的 OLE DB 提供者 “”) 錯誤 10054 傳回訊息「用戶端無法建立連線」。
原因 1:未包含 Rivest Cipher 4 (RC4)
如果加密套件不包含 Rivest Cipher 4 (RC4) ,則任何使用 RC4 進行加密的嘗試都會失敗。 同樣地,如果加密套件包含 RC4,但其中一個相關合作對象沒有,則交握會失敗,而且不會建立連線。
解決方案
依照下列步驟執行:
- 檢查屬性是否
msds-supportedEncryptionType
已設定。 如果未設定 屬性,則只會啟用 RC4。 - 將此屬性的值設定為 28 ,以啟用 RC4、AES128 和 AES256。
原因 2:傳輸層安全性 (TLS) 版本不相符
傳輸層安全性 (TLS) 版本不符。 如果用戶端使用 TLS 1.0 起始連線,就可能發生此問題。 新式加密套件通常不支援 TLS 1.0,因為它們偏好更安全的版本,例如 TLS 1.2。
解決方案
依照下列步驟執行:
請確定客戶端驅動程式支援 TLS 1.2。 如果沒有,請更新驅動程式。
將下列加密新增至本機原則,以支援 TLS 1.0 通訊:
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA