如何在 Windows Server 2016 中部署自定義加密套件排序

本文提供的資訊可協助您在 Windows Server 2016 中部署 Schannel 的自定義加密套件排序。

適用於:Windows Server 2016
原始 KB 編號: 4032720

摘要

若要在 Windows 中為 Schannel 部署您自己的加密套件順序,您必須先列出這些密碼套件,以排定與 HTTP/2 兼容的加密套件的優先順序。 HTTP/2 (RFC 7540) 區塊清單上的加密套件必須出現在清單底部。 例如:

加密區塊鏈結 (CBC) 模式加密套件:

  • TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
  • TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
  • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384

非 PFS (完美向前保密) 加密套件:

  • TLS_RSA_WITH_AES_256_GCM_SHA384
  • TLS_RSA_WITH_AES_128_GCM_SHA256

如果區塊清單上的加密套件列在清單頂端,HTTP/2 用戶端和瀏覽器可能無法交涉任何 HTTP/2 相容的加密套件。 這會導致無法使用通訊協定。

例如,當您使用 Chrome 時,您可能會收到錯誤ERR_SPDY_INADEQUATE_TRANSPORT_SECURITY。

Windows Server 2016 中的預設順序與 HTTP/2 加密套件喜好設定相容。 此外,此順序在 HTTP/2 以外是不錯的,因為它偏好具有最強安全性特性的加密套件。 因此,預設順序可確保 Windows Server 2016 上的 HTTP/2 不會有瀏覽器和用戶端的任何加密套件交涉問題。

因應措施

重要

這個章節、方法或工作包含修改登錄的步驟。 然而,不當修改登錄可能會發生嚴重的問題。 因此,請務必小心執行下列步驟。 為增加保護起見,請先備份登錄,再進行修改。 然後,如果發生問題,您就可以還原登錄。 如需備份和還原登錄的詳細資訊,請參閱如何在 Windows 中備份及還原登錄

如果失敗使用通訊協定,您必須在重新排序加密套件時暫時停用 HTTP/2。

若要啟用和停用 HTTP/2,請遵循下列步驟:

  1. 啟動 regedit (註冊表編輯器)。
  2. 移至此子機碼: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters
  3. 將 DWORD 型態值 Enable En2Tls 設定為下列其中一項:
    • 將它設定為 0 以停用 HTTP/2。
    • 將其值設定為 1 以啟用 HTTP/2。
  4. 重新啟動電腦。

參考資料