如何在用戶端上啟用 TLS 1.2

適用於:Configuration Manager (目前的分支)

為您的 Configuration Manager 環境啟用 TLS 1.2 時,請先從在網站伺服器和遠端網站系統上啟用 TLS 1.2 並停用舊版的通訊協定,確定用戶端可以且已正確地設定使用 TLS 1.2 開始。 在用戶端上啟用 TLS 1.2 的工作有三個:

  • 更新 Windows 和 WinHTTP
  • 確定 TLS 1.2 已啟用為作業系統層級的 SChannel 通訊協定
  • 更新及設定 .NET Framework 以支援 TLS 1.2

如需特定的 Configuration Manager 功能與案例的相依性詳細資訊,請參閱 關於啟用 TLS 1.2

更新 Windows 和 WinHTTP

Windows 8.1、Windows Server 2012 R2、Windows 10、Windows Server 2016 及更新版本的 Windows 原生支援透過 WinHTTP 的用戶端伺服器通訊的 TLS 1.2。

較舊版本的 Windows (例如 Windows 7 或 Windows Server 2012) 不會預設啟用 TLS 1.1 或 TLS 1.2,以使用 WinHTTP 進行安全通訊。 針對這些較舊版本的 Windows,請安裝 更新 3140245 以啟用下列的登錄值,這可以設定為將 TLS 1.1 和 TLS 1.2 新增至 WinHTTP 的預設安全通訊協定清單。 安裝修補程式後,請建立下列登錄值:

重要事項

在 Configuration Manager 伺服器上啟用 TLS 1.2 並停用舊版通訊協定 之前,請在所有執行舊版 Windows 的用戶端上啟用這些設定。 否則,您可能會不小心將它們變成孤兒。

確認 DefaultSecureProtocols 登錄設定的值,例如:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp\
      DefaultSecureProtocols = (DWORD): 0xAA0
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp\
      DefaultSecureProtocols = (DWORD): 0xAA0

如果您變更此值,請重新啟動此電腦。

上述範例會顯示 WinHTTP DefaultSecureProtocols 設定的 0xAA0 值。 更新以在 Windows 版 WinHTTP 中啟用 TLS 1.1 和 TLS 1.2 做為預設安全通訊協定 會列出每個通訊協定的十六進位值。 根據 Windows 中的預設,此值是 0x0A0 以啟用 WinHTTP 的 SSL 3.0 和 TLS 1.0。 上述範例會保留這些預設值,而且會啟用 WinHTTP 的 TLS 1.1 和 TLS 1.2。 這種設定可確保變更不會破壞任何其他可能仍然依賴 SSL 3.0 或 TLS 1.0 的其他應用程式。 您可以使用的 0xA00 值以只啟用 TLS 1.1 和 TLS 1.2。 Configuration Manager 支援 Windows 在兩個裝置間交涉的最安全通訊協定。

如果您想要完全停用 SSL 3.0 和 TLS 1.0,請使用 Windows 中的 SChannel 停用通訊協定設定。 如需詳細資訊,請參閱 限制在 Schannel.dll中使用特定的加密演算法和通訊協定

確定 TLS 1.2 已啟用為作業系統層級的 SChannel 通訊協定

在大部分情況下,通訊協定使用量會控制在三個層級:作業系統層級、架構或平台層級,以及應用層級。 預設會在作業系統層級啟用 TLS 1.2。 一旦您確定 .NET 登錄值已設定為啟用 TLS 1.2,並確認環境已正確地利用網路上的 TLS 1.2,您可能會想要編輯 SChannel\Protocols 登錄機碼,以停用較舊、較不安全的通訊協定。 如需停用 TLS 1.0 和 1.1 的詳細資訊,請參閱 在 Windows 登錄中設定安全通道通訊協定

更新及設定 .NET Framework 以支援 TLS 1.2

判斷 .NET 版本

首先,判斷已安裝的 .NET 版本。 如需更多資訊,請參閱 如何判斷您安裝的 .NET Framework 版本及其服務套件等級

安裝 .NET 更新

安裝 .NET 更新,以便啟用強式密碼編譯。 某些版本的.NET Framework可能需要更新才能啟用強式密碼編譯。 使用這些方針:

  • NET Framework 4.6.2 和更新版本支援 TLS 1.1 和 TLS 1.2。 確認登錄設定,但不需要進行其他變更。

    注意事項

    從 2107 版開始,Configuration Manager需要月臺伺服器、特定月臺系統、用戶端和主控台Microsoft .NET Framework 4.6.2 版。 如果可能,請在您的環境中安裝最新版的 .NET 4.8 版。

  • 更新 NET Framework 4.6 和舊版,以支援 TLS 1.1 和 TLS 1.2。 如需詳細資訊,請參閱 .NET Framework 版本和相依性

  • 如果您在 Windows 8.1、Windows Server 2012 R2 或 Windows Server 2012 上使用 .NET Framework 4.5.1 或 4.5.2,強烈建議您安裝 .Net Framework 4.5.1 和 4.5.2 的最新安全性更新,以確保 TLS 1.2 能夠正確啟用。

    針對您的參考,TLS 1.2 最初是透過下列 Hotfix 匯總套件導入 .Net Framework 4.5.1 和 4.5.2:

設定強式密碼編譯

設定.NET Framework以支援強式密碼編譯。 將登錄 SchUseStrongCrypto 設定設為 DWORD:00000001 。 此值會停用 RC4 資料流程加密,而且需要重新開機。 如需此設定的詳細資訊,請參閱 Microsoft 資訊安全諮詢296038

請務必在與已啟用 TLS 1.2 的系統進行網路通訊的任何電腦上設定下列登錄機碼。 例如,Configuration Manager用戶端、未安裝在月臺伺服器上的遠端月臺系統角色,以及月臺伺服器本身。

對於在 32 位 OS 上執行的 32 位應用程式,以及在 64 位 OS 上執行的 64 位應用程式,請更新下列子機碼值:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727]
      "SystemDefaultTlsVersions" = dword:00000001
      "SchUseStrongCrypto" = dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319]
      "SystemDefaultTlsVersions" = dword:00000001
      "SchUseStrongCrypto" = dword:00000001

對於在 64 位元作業系統上執行的 32 位元應用程式,請更新下列子機碼值:

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v2.0.50727]
      "SystemDefaultTlsVersions" = dword:00000001
      "SchUseStrongCrypto" = dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319]
      "SystemDefaultTlsVersions" = dword:00000001
      "SchUseStrongCrypto" = dword:00000001

注意事項

SchUseStrongCrypto 設定可讓 .NET 使用 TLS 1.1 和 TLS 1.2。 此 SystemDefaultTlsVersions 設定可讓 .NET 使用 OS 組態。 如需詳細資訊,請參閱TLS 最佳做法與.NET Framework

後續步驟