在 SQL Server 計算機上實作加密套件原則之後,「用戶端無法建立連線」錯誤
本文可協助您解決在伺服器上實作加密套件原則之後所發生的問題。 如果客戶端和伺服器上支援的加密套件不相符,連線可能會失敗。
徵兆
在伺服器上實作加密套件原則之後,您會收到下列錯誤訊息:
遠端主機已強制關閉一個現有連線。 [SQLSTATE 42000](錯誤 10054)鏈接伺服器 「DB name」 的 OLE DB 提供者「傳回訊息「客戶端無法建立連線」。
原因 1:不包含 Rivest 加密 4 (RC4)
如果加密套件不包含 Rivest 加密 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