在 SQL Server 計算機上實作加密套件原則之後發生「客戶端無法建立連線」錯誤

本文可協助您解決在伺服器上實作加密套件原則之後所發生的問題。 如果客戶端和伺服器上支援的加密套件不相符,連線可能會失敗。

徵狀

在伺服器上實作加密套件原則之後,您會收到下列錯誤訊息:

遠端主機已強制關閉現有的連線。 [SQLSTATE 42000] (鏈接伺服器 “DB name” 的 OLE DB 提供者 “”) 錯誤 10054 傳回訊息「用戶端無法建立連線」。

原因 1:未包含 Rivest Cipher 4 (RC4)

如果加密套件不包含 Rivest Cipher 4 (RC4) ,則任何使用 RC4 進行加密的嘗試都會失敗。 同樣地,如果加密套件包含 RC4,但其中一個相關合作對象沒有,則交握會失敗,而且不會建立連線。

解決方案

依照下列步驟執行:

  1. 檢查屬性是否 msds-supportedEncryptionType 已設定。 如果未設定 屬性,則只會啟用 RC4。
  2. 將此屬性的值設定為 28 ,以啟用 RC4、AES128 和 AES256。

原因 2:傳輸層安全性 (TLS) 版本不相符

傳輸層安全性 (TLS) 版本不符。 如果用戶端使用 TLS 1.0 起始連線,就可能發生此問題。 新式加密套件通常不支援 TLS 1.0,因為它們偏好更安全的版本,例如 TLS 1.2。

解決方案

依照下列步驟執行:

  1. 請確定客戶端驅動程式支援 TLS 1.2。 如果沒有,請更新驅動程式。

  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

另請參閱

遠端主機已強制關閉現有的連線 (操作系統錯誤 10054)