啟用 SharePoint Server 2016 中的 TLS 1.1 和 TLS 1.2 支援

適用于:no-img-13 2013yes-img-16 2016no-img-192019 no-img-seSubscription Edition no-img-sopSharePoint in Microsoft 365

若要在您的 SharePoint 2016 環境中啟用 TLS 通訊協定 1.1 和 1.2 版本,必須安裝更新,並變更下列每個位置中的組態設定:

  1. 您的 SharePoint 伺服器陣列中的 SharePoint 伺服器

  2. 您的 SharePoint 伺服器陣列中的 Microsoft SQL Server

  3. 用來存取您的 SharePoint 網站的用戶端電腦

重要事項

[!重要事項] 如果您沒有更新全部的位置,會有系統無法使用 TLS 1.1 或 TLS 1.2 彼此連線的風險。 系統會改為回歸到舊的安全性通訊協定;而如果舊的安全性通訊協定被停用,系統可能無法完全連線。 >範例: SharePoint 伺服器可能無法連線到 SQL Server 資料庫,或用戶端電腦可能無法連線到您的 SharePoint 網站。

更新程序摘要

下圖的三步驟程序,是在您的 SharePoint 伺服器、SQL Server、用戶端電腦上啟用 TLS 1.1 和 TLS 1.2 支援的必要程序。

更新您的 SharePoint 伺服器陣列、Microsoft SQL 伺服器和用戶端電腦的三個步驟。

步驟 1:更新 SharePoint 伺服器陣列中的 SharePoint 伺服器

按照以下步驟更新您的 SharePoint 伺服器。

SharePoint Server 的步驟 Windows Server 2012 R2 Windows Server 2016
1.1 - 安裝 ODBC Driver 11 for SQL Server 的 TLS 1.2 支援更新
必要
必要
1.2 - 安裝 SQL Server 2012 Native Client 的 TLS 1.2 支援更新
必要
必要
The following steps are recommended. Although not directly required by SharePoint Server 2016, they may be necessary for other software that integrates with SharePoint Server 2016.
1.3 - 安裝 .NET Framework 3.5 的 TLS 1.1 和 TLS 1.2 支援更新
建議使用
建議使用
1.4 - 在 .NET Framework 3.5 中啟用強式密碼編譯
建議使用
建議使用
The following step is optional. You may choose to run this step based on your organization's security and compliance requirements.
1.5 - 停用 Windows Schannel 中更早版本的 SSL 和 TLS
選用
選用

1.1 - 安裝 ODBC Driver 11 for SQL Server 的 TLS 1.2 支援更新

ODBC Driver 11 for SQL Server (適用於 SQL Server 的 ODBC 驅動程式 11) 預設不支援 TLS 1.1 或 TLS 1.2。 您必須安裝 ODBC Driver 11 for SQL Server 的 TLS 1.2 支援更新。

1.2 - 安裝 SQL Server 2012 Native Client 的 TLS 1.2 支援更新

SQL Server 2012 原生用戶預設不支援 TLS 1.1 或 TLS 1.2。 您必須安裝 SQL Server 2012 Native Client 的 TLS 1.2 支援更新。

1.3 - 安裝 .NET Framework 3.5 的 TLS 1.1 和 TLS 1.2 支援更新

.NET Framework 3.5 預設不支援 TLS 1.1 或 TLS 1.2。

重要事項

[!重要事項] 若要在 Windows Server 2012 R2 新增 TLS 1.1 和 TLS 1.2 的支援,您必須安裝 KB 更新,並手動設定 Windows 登錄機碼。

SharePoint Server 2016 已在 .NET Framework 4.x 上建置,不會使用 .NET Framework 3.5。 不過,某些必要元件以及與 SharePoint Server 2016 整合的協力廠商軟體可能會使用 .NET Framework 3.5。 Microsoft 建議安裝並設定此更新以改善與 TLS 1.2 的相容性。

SystemDefaultTlsVersions 登錄值定義 .NET Framework 3.5 將會使用哪一個安全性通訊協定版本預設值。 如果此值設為 0,.NET Framework 3.5 會預設使用 SSL 3.0 or TLS 1.0 。 如果此值設為 1,.NET Framework 3.5 會從 Windows Schannel DisabledByDefault 登錄值繼承其預設值。 如果未定義此值,其行為將和值設為 0 相同。

To enable .NET Framework 3.5 to inherit its security protocol defaults from Windows Schannel

For Windows Server 2012 R2

  1. 若要安裝 Windows Server 2012 R2 的 .NET Framework 3.5 SP1 更新,請參閱知識庫文件 Windows 8.1 和 Windows Server 2012 R2 上的 .NET Framework 3.5 包含的 TLS 系統預設版本支援

  2. 安裝 KB 更新之後,手動設定登錄機碼。

For Windows Server 2016

若是使用 Windows Server 2016,請手動設定登錄機碼。

To manually configure the registry keys, do the following:

  1. 從 Notepad.exe 建立文字檔,命名為 net35-tls12-enable.reg

  2. 複製並貼上下列文字。

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727]
"SystemDefaultTlsVersions"=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v2.0.50727]
"SystemDefaultTlsVersions"=dword:00000001
  1. 儲存 net35-tls12-enable.reg 檔案。

  2. 連按兩下 net35-tls12-enable.reg 檔案。

  3. 按一下 [ Yes ] 以這些變更更新您的 Windows 登錄。

  4. 重新啟動電腦使變更生效。

1.4 - 在 .NET Framework 3.5 中啟用強式密碼編譯

SchUseStrongCrypto 登錄值會限制 TLS 不可使用被認為是弱式的加密演算法,例如 RC4。

Microsoft 已針對 Windows Server 2012 R2 上的 .NET Framework 3.5 發行選用的安全性更新,可自動為您設定 Windows 登錄機碼。 Windows Server 2016 沒有更新。 您必須在 Windows Server 2016 上手動設定 Windows 登錄機碼。

Windows Server 2012 R2

Windows Server 2016

若要在 Windows Server 2016 的 .NET Framework 3.5 中啟用強式密碼編譯,請設定以下 Windows 登錄機碼:

  1. 從 Notepad.exe 建立文字檔,命名為 net35-strong-crypto-enable.reg

  2. 複製並貼上下列文字。

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727]
"SchUseStrongCrypto"=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v2.0.50727]
"SchUseStrongCrypto"=dword:00000001
  1. 儲存 net35-strong-crypto-enable.reg 檔案。

  2. 連按兩下 net35-strong-crypto-enable.reg 檔案。

  3. 按一下 [ Yes ] 以這些變更更新您的 Windows 登錄。

  4. 重新啟動電腦使變更生效。

1.5 - 停用 Windows Schannel 中更早版本的 SSL 和 TLS

您可藉由編輯 Windows 登錄檔,啟用或停用 Windows Schannel 中的 SSL 和 TLS 支援。 每個 SSL 及 TLS 通訊協定版本皆可以獨立啟用或停用。 您不需要啟用或停用一個通訊協定版本,才啟用或停用另一個通訊協定版本。

重要事項

[!重要事項] 由於在 SSL 2.0 和 SSL 3.0 中有嚴重的安全性弱點,Microsoft 建議停用這些通訊協定版本。 > 客戶也可以選擇停用 TLS 1.0 和 TLS 1.1,以確保只使用最新的通訊協定版本。 不過,這可能導致不支援最新 TLS 通訊協定版本的軟體發生相容性問題。 客戶在生產環境中執行之前,應先對此類變更進行測試。

Enabled 登錄值會定義是否能使用該通訊協定版本。 如果值設為 0,即使預設為啟用或應用程式明確要求該通訊協定版本,該通訊協定版本也無法使用。 如果值設為 1,如果預設為啟用或應用程式明確要求該通訊協定版本,則可以使用該通訊協定版本。 如果未定義值,它會使用由作業系統決定的預設值。

DisabledByDefault 登錄值會定義是否使用預設的通訊協定版本。 此設定僅在應用程式並未明確要求使用哪個通訊協定版本時,才會套用。 如果值設為 0,會使用預設的通訊協定版本。 如果值設為 1,則不會使用預設的通訊協定版本。 如果未定義值,它會使用由作業系統決定的預設值。

停用 Windows Schannel 的 SSL 2.0 支援

  1. 從 Notepad.exe 建立文字檔,命名為 ssl20-disable.reg

  2. 複製並貼上下列文字。

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Client]
"DisabledByDefault"=dword:00000001
"Enabled"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Server]
"DisabledByDefault"=dword:00000001
"Enabled"=dword:00000000
  1. 儲存 ssl20-disable.reg 檔案。

  2. 連按兩下 ssl20-disable.reg 檔案。

  3. 按一下 [ Yes ] 以這些變更更新您的 Windows 登錄。

  4. 重新啟動電腦使變更生效。

停用 Windows Schannel 的 SSL 3.0 支援

  1. 從 Notepad.exe 建立文字檔,命名為 ssl30-disable.reg

  2. 複製並貼上下列文字。

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Client]
"DisabledByDefault"=dword:00000001
"Enabled"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Server]
"DisabledByDefault"=dword:00000001
"Enabled"=dword:00000000
  1. 儲存 ssl30-disable.reg 檔案。

  2. 連按兩下 ssl30-disable.reg 檔案。

  3. 按一下 [ Yes ] 以這些變更更新您的 Windows 登錄。

  4. 重新啟動電腦使變更生效。

停用 Windows Schannel 的 TLS 1.0 支援

  1. 從 Notepad.exe 建立文字檔,命名為 tls10-disable.reg

  2. 複製並貼上下列文字。

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client]
"DisabledByDefault"=dword:00000001
"Enabled"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server]
"DisabledByDefault"=dword:00000001
"Enabled"=dword:00000000
  1. 儲存 tls10-disable.reg 檔案。

  2. 連按兩下 tls10-disable.reg 檔案。

  3. 按一下 [ Yes ] 以這些變更更新您的 Windows 登錄。

  4. 重新啟動電腦使變更生效。

停用 Windows Schannel 的 TLS 1.1 支援

  1. 從 Notepad.exe 建立文字檔,命名為 tls11-disable.reg

  2. 複製並貼上下列文字。

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client]
"DisabledByDefault"=dword:00000001
"Enabled"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server]
"DisabledByDefault"=dword:00000001
"Enabled"=dword:00000000
  1. 儲存 tls11-disable.reg 檔案。

  2. 連按兩下 tls11-disable.reg 檔案。

  3. 按一下 [ Yes ] 以這些變更更新您的 Windows 登錄。

  4. 重新啟動電腦使變更生效。

步驟 2:更新 SharePoint 伺服器陣列中的 Microsoft SQL Server

按照以下步驟更新您的 SharePoint 伺服器陣列中的 SQL Server。

SQL Server 的步驟 Windows Server 2012 R2 Windows Server 2016
2.1 - 啟用 Microsoft SQL Server 的 TLS 1.1 和 TLS 1.2 支援
必要
必要
The following step is optional. You may choose to run this step based on your organization's security and compliance requirements.
2.2 - 停用 Windows Schannel 中更早版本的 SSL 和 TLS
選用
選用

2.1 - 啟用 Microsoft SQL Server 的 TLS 1.1 和 TLS 1.2 支援

早於 SQL Server 2016 的 SQL Server 版本預設不支援 TLS 1.1 或 TLS 1.2。 若要支援 TLS 1.1 和 TLS 1.2,您必須安裝 SQL Server 的更新。

2.2 - 停用 Windows Schannel 中更早版本的 SSL 和 TLS

您可藉由編輯 Windows 登錄檔,啟用或停用 Windows Schannel 中的 SSL 和 TLS 支援。 每個 SSL 及 TLS 通訊協定版本皆可以獨立啟用或停用。 您不需要啟用或停用一個通訊協定版本,才啟用或停用另一個通訊協定版本。

重要事項

[!重要事項] 由於在 SSL 2.0 和 SSL 3.0 中有嚴重的安全性弱點,Microsoft 建議停用這些通訊協定版本。 > 客戶也可以選擇停用 TLS 1.0 和 1.1,以確保只使用最新的通訊協定版本。 不過,這可能導致不支援最新 TLS 通訊協定版本的軟體發生相容性問題。 客戶在生產環境中執行之前,應先對此類變更進行測試。

Enabled 登錄值會定義是否能使用該通訊協定版本。 如果值設為 0,即使預設為啟用或應用程式明確要求該通訊協定版本,該通訊協定版本也無法使用。 如果值設為 1,如果預設為啟用或應用程式明確要求該通訊協定版本,則可以使用該通訊協定版本。 如果未定義值,它會使用由作業系統決定的預設值。

DisabledByDefault 登錄值會定義是否使用預設的通訊協定版本。 此設定僅在應用程式並未明確要求使用哪個通訊協定版本時,才會套用。 如果值設為 0,會使用預設的通訊協定版本。 如果值設為 1,則不會使用預設的通訊協定版本。 如果未定義值,它會使用由作業系統決定的預設值。

停用 Windows Schannel 的 SSL 2.0 支援

  1. 從 Notepad.exe 建立文字檔,命名為 ssl20-disable.reg

  2. 複製並貼上下列文字。

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Client]
"DisabledByDefault"=dword:00000001
"Enabled"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Server]
"DisabledByDefault"=dword:00000001
"Enabled"=dword:00000000
  1. 儲存 ssl20-disable.reg 檔案。

  2. 連按兩下 ssl20-disable.reg 檔案。

  3. 按一下 [ Yes ] 以這些變更更新您的 Windows 登錄。

  4. 重新啟動電腦使變更生效。

停用 Windows Schannel 的 SSL 3.0 支援

  1. 從 Notepad.exe 建立文字檔,命名為 ssl30-disable.reg

  2. 複製並貼上下列文字。

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0] 
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Client]
"DisabledByDefault"=dword:00000001
"Enabled"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Server]
"DisabledByDefault"=dword:00000001
"Enabled"=dword:00000000
  1. 儲存 ssl30-disable.reg 檔案。

  2. 連按兩下 ssl30-disable.reg 檔案。

  3. 按一下 [ Yes ] 以這些變更更新您的 Windows 登錄。

  4. 重新啟動電腦使變更生效。

停用 Windows Schannel 的 TLS 1.0 支援

  1. 從 Notepad.exe 建立文字檔,命名為 tls10-disable.reg

  2. 複製並貼上下列文字。

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client]
"DisabledByDefault"=dword:00000001
"Enabled"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server]
"DisabledByDefault"=dword:00000001
"Enabled"=dword:00000000
  1. 儲存 tls10-disable.reg 檔案。

  2. 連按兩下 tls10-disable.reg 檔案。

  3. 按一下 [ Yes ] 以這些變更更新您的 Windows 登錄。

  4. 重新啟動電腦使變更生效。

停用 Windows Schannel 的 TLS 1.1 支援

  1. 從 Notepad.exe 建立文字檔,命名為 tls11-disable.reg

  2. 複製並貼上下列文字。

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client]
"DisabledByDefault"=dword:00000001
"Enabled"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server]
"DisabledByDefault"=dword:00000001
"Enabled"=dword:00000000
  1. 儲存 tls11-disable.reg 檔案。

  2. 連按兩下 tls11-disable.reg 檔案。

  3. 按一下 [ Yes ] 以這些變更更新您的 Windows 登錄。

  4. 重新啟動電腦使變更生效。

步驟 3:更新用來存取 SharePoint 網站的用戶端電腦

遵循以下步驟,更新將存取您的 SharePoint 網站的用戶端電腦。

您的用戶端電腦的步驟 Windows 7 Windows 8.1 Windows 10
3.1 - 啟用 Windows Schannel 的 TLS 1.1 和 TLS 1.2
必要
不適用
不適用
3.2 - 啟用 WinHTTP 的 TLS 1.1 和 TLS 1.2 支援
必要
不適用
不適用
3.3 - 啟用 Internet Explorer 的 TLS 1.1 和 TLS 1.2 支援
必要
不適用
不適用
3.4 - 在 .NET Framework 4.5 或更高版本中啟用強式密碼編譯
必要
必要
必要
3.5 - 安裝 .NET Framework 3.5 的 TLS 1.1 和 TLS 1.2 支援更新
必要
必要
必要
The following step is recommended. Although not directly required by SharePoint Server 2016, they provide better security by restricting the use of weak encryption algorithms.
3.6 - 在 .NET Framework 3.5 中啟用強式密碼編譯
建議使用
建議使用
建議使用
The following step is optional. You may choose to run this step based on your organization's security and compliance requirements.
3.7 - 停用 Windows Schannel 中更早版本的 SSL 和 TLS
選用
選用
選用

3.1 - 啟用 Windows Schannel 的 TLS 1.1 和 TLS 1.2

您可藉由編輯 Windows 登錄檔,啟用或停用 Windows Schannel 中的 SSL 和 TLS 支援。 每個 SSL 及 TLS 通訊協定版本皆可以獨立啟用或停用。 您不需要啟用或停用一個通訊協定版本,才啟用或停用另一個通訊協定版本。

Enabled 登錄值會定義是否能使用該通訊協定版本。 如果值設為 0,即使預設為啟用或應用程式明確要求該通訊協定版本,該通訊協定版本也無法使用。 如果值設為 1,如果預設為啟用或應用程式明確要求該通訊協定版本,則可以使用該通訊協定版本。 如果未定義值,它會使用由作業系統決定的預設值。

DisabledByDefault 登錄值會定義是否使用預設的通訊協定版本。 此設定僅在應用程式並未明確要求使用哪個通訊協定版本時,才會套用。 如果值設為 0,會使用預設的通訊協定版本。 如果值設為 1,則不會使用預設的通訊協定版本。 如果未定義值,它會使用由作業系統決定的預設值。

啟用 Windows Schannel 的 TLS 1.1 支援

  1. 從 Notepad.exe 建立文字檔,命名為 tls11-enable.reg

  2. 複製並貼上下列文字。

Windows Registry Editor Version 5.00 
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client]
"DisabledByDefault"=dword:00000000
"Enabled"=dword:00000001
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server]
"DisabledByDefault"=dword:00000000
"Enabled"=dword:00000001
  1. 儲存 tls11-enable.reg 檔案。

  2. 連按兩下 tls11-enable.reg 檔案。

  3. 按一下 [ Yes ] 以這些變更更新您的 Windows 登錄。

  4. 重新啟動電腦使變更生效。

啟用 Windows Schannel 的 TLS 1.2 支援

  1. 從 Notepad.exe 建立文字檔,命名為 tls12-enable.reg

  2. 複製並貼上下列文字。

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client]
"DisabledByDefault"=dword:00000000
"Enabled"=dword:00000001
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server]
"DisabledByDefault"=dword:00000000
"Enabled"=dword:00000001
  1. 儲存 tls12-enable.reg 檔案。

  2. 連按兩下 tls12-enable.reg 檔案。

  3. 按一下 [ Yes ] 以這些變更更新您的 Windows 登錄。

  4. 重新啟動電腦使變更生效。

3.2 - 啟用 WinHTTP 的 TLS 1.1 和 TLS 1.2 支援

WinHTTP 不會從 Windows Schannel DisabledByDefault 登錄值繼承其 SSL 和 TLS 加密通訊協定版本預設值。 WinHTTP 使用它自己的 SSL 和 TLS 加密通訊協定版本預設值,此值依作業系統而異。 若要覆寫此預設值,您必須安裝 KB 更新,並設定 Windows 登錄機碼。

WinHTTP DefaultSecureProtocols 登錄值是可接受多個值 (把它們加起來成為單一值) 的位元欄位。 您可以在 [程式設計師] 模式中使用 Windows 小算盤程式 (Calc.exe),視需要新增下列的十六進位值。

DefaultSecureProtocols 值 描述
0x00000008
預設啟用 SSL 2.0
0x00000020
預設啟用 SSL 3.0
0x00000080
預設啟用 TLS 1.0
0x00000200
預設啟用 TLS 1.1
0x00000800
預設啟用 TLS 1.2

例如,將 0x00000080、0x00000200、0x00000800 加在一起形成 0x00000A80 值,可以預設啟用 TLS 1.0、TLS 1.1 和 TLS 1.2。

若要安裝 WinHTTP KB 更新,請遵循知識庫文件可在 Windows 的 WinHTTP 中啟用 TLS 1.1 和 TLS 1.2 作為預設安全通訊協定的更新的指示

在 WinHTTP 中預設啟用 TLS 1.0、TLS 1.1、TLS 1.2

  1. 從 Notepad.exe 建立文字檔,命名為 winhttp-tls10-tls12-enable.reg

  2. 複製並貼上下列文字。

For 64-bit operating system

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp]
"DefaultSecureProtocols"=dword:00000A80
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp]
"DefaultSecureProtocols"=dword:00000A80

For 32-bit operating system

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp]
"DefaultSecureProtocols"=dword:00000A80
  1. 儲存 winhttp-tls10-tls12-enable.reg 檔案。

  2. 連按兩下 winhttp-tls10-tls12-enable.reg 檔案。

  3. 按一下 [ Yes ] 以這些變更更新您的 Windows 登錄。

  4. 重新啟動電腦使變更生效。

3.3 - 啟用 Internet Explorer 的 TLS 1.1 和 TLS 1.2 支援

Internet Explorer 11 之前 Internet Explorer 版本沒有預設啟用 TLS 1.1 或 TLS 1.2 支援。 從 Internet Explorer 11 開始的版本預設會啟用 TLS 1.1 和 TLS 1.2 的支援。

啟用 Internet Explorer 的 TLS 1.1 和 TLS 1.2 支援

  1. 從 Internet Explorer,按一下[工具>] [網際網路選項>] [進階],或按一下[Internet Explorer>Internet OptionsAdvanced] 中的 [設定] > 功能表。

  2. 在 [ Security ] 區段中,確認已選取下列核取方塊。 若未選取,按一下下列核取方塊:

  • 使用 TLS 1.1

  • 使用 TLS 1.2

  1. (選用) 如果您想要停用對舊版安全性通訊協定的支援,請取消選取下列核取方塊:
  • 使用 SSL 2.0

  • 使用 SSL 3.0

  • 使用 TLS 1.0

    注意事項

    [!附註] 停用 TLS 1.0 可能導致不支援較新安全性通訊協定版本的網站發生相容性問題。 客戶在生產環境中執行之前,應先對此類變更進行測試。

  1. 按一下 [確定]

3.4 - 在 .NET Framework 4.5 或更高版本中啟用強式密碼編譯

.NET Framework 4.5 和更高版本不會從 Windows Schannel DisabledByDefault 登錄值繼承其 SSL 和 TLS 安全性通訊協定版本預設值。 相反地,它會使用它自己的 SSL 和 TLS 安全性通訊協定版本預設值。 若要覆寫此預設值,您必須設定 Windows 登錄機碼。

SchUseStrongCrypto 登錄值會將 .NET Framework 4.5 和更高版本的安全性通訊協定版本預設值,從 SSL 3.0 或 TLS 1.0 變更為 TLS 1.0 或 TLS 1.1 或 TLS 1.2 。 此外,也會限制 TLS 不可使用被認為是弱式的加密演算法,例如 RC4。

針對 .NET Framework 4.6 或更高版本編譯的應用程式,即使沒有將 SchUseStrongCrypto 登錄值設為 1,其行為也會如同此設定。 為了確保所有的 .NET Framework 應用程式皆使用強式密碼編譯,您必須設定此 Windows 登錄值。

Microsoft 已針對 .NET Framework 4.5、4.5.1 和 4.5.2 發行選用的安全性更新,可自動為您設定 Windows 登錄機碼。 .NET Framework 4.6 或更高版本沒有更新。 您必須在 .NET Framework 4.6 或更高版本上手動設定 Windows 登錄機碼。

For Windows 7 and Windows Server 2008 R2

For Windows Server 2012

For Windows 8.1 and Windows Server 2012 R2

在 .NET Framework 4.6 或更高版本中啟用強式密碼編譯

  1. 從 Notepad.exe 建立文字檔,命名為 net46-strong-crypto-enable.reg

  2. 複製並貼上下列文字。

For 64-bit operating system

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319]
"SchUseStrongCrypto"=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319]
"SchUseStrongCrypto"=dword:00000001

For 32-bit operating system

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319]
"SchUseStrongCrypto"=dword:00000001
  1. 儲存 net46-strong-crypto-enable.reg 檔案。

  2. 連按兩下 net46-strong-crypto-enable.reg 檔案。

  3. 按一下 [ Yes ] 以這些變更更新您的 Windows 登錄。

  4. 重新啟動電腦使變更生效。

3.5 - 安裝 .NET Framework 3.5 的 TLS 1.1 和 TLS 1.2 支援更新

.NET Framework 3.5 預設不支援 TLS 1.1 或 TLS 1.2。 若要新增 TLS 1.1 和 TLS 1.2 的支援,您必須為本節列出之每個作業系統安裝 KB 更新,並手動設定 Windows 登錄機碼。

SystemDefaultTlsVersions 登錄值定義 .NET Framework 3.5 將會使用哪一個安全性通訊協定版本預設值。 如果此值設為 0,.NET Framework 3.5 會預設使用 SSL 3.0 or TLS 1.0 。 如果此值設為 1,.NET Framework 3.5 會從 Windows Schannel DisabledByDefault 登錄值繼承其預設值。 如果未定義此值,其行為將和值設為 0 相同。

使 .NET Framework 3.5 從 Windows Schannel 繼承其加密通訊協定預設值

For Windows 7 and Windows Server 2008 R2

  1. 若要安裝 Windows 7 和 Windows Server 2008 R2 的 .NET Framework 3.5.1 更新,請參閱知識庫文件 Windows 7 SP1 和 Server 2008 R2 SP1 上的 .NET Framework 3.5.1 包含的 TLS 系統預設版本支援

  2. 安裝 KB 更新之後,手動設定登錄機碼。

For Windows Server 2012

  1. 若要安裝 Windows Server 2012 的 .NET Framework 3.5 更新,請參閱知識庫文件 Windows Server 2012 上的 .NET Framework 3.5 包含的 TLS 系統預設版本支援

  2. 安裝 KB 更新之後,手動設定登錄機碼。

For Windows 8.1 and Windows Server 2012 R2

  1. 若要安裝 Windows 8.1 和 Windows Server 2012 R2 的 .NET Framework 3.5 SP1 更新,請參閱知識庫文件 Windows 8.1 和 Windows Server 2012 R2 上的 .NET Framework 3.5 包含的 TLS 系統預設版本支援

  2. 安裝 KB 更新之後,手動設定登錄機碼。

For Windows 10 (Version 1507)

For Windows 10 (Version 1511)

  1. 若要安裝 Windows 10 版本 1511 和 Windows Server 2016 Technical Preview 4 的累積更新:2016 年 5 月 10 日,請參閱 Windows 10 版本 1511 和 Windows Server 2016 Technical Preview 4 的累積更新:2016 年 5 月 10 日

  2. 安裝 KB 更新之後,手動設定登錄機碼。

Windows 10 (Version 1607) and Windows Server 2016

不需安裝任何更新。 將 Windows 登錄機碼如下設定。

To manually configure the registry keys, do these steps.

  1. 從 Notepad.exe 建立文字檔,命名為 net35-tls12-enable.reg

  2. 複製並貼上下列文字。

For 64-bit operating system

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727]
"SystemDefaultTlsVersions"=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v2.0.50727]
"SystemDefaultTlsVersions"=dword:00000001

For 32-bit operating system

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727]
"SystemDefaultTlsVersions"=dword:00000001
  1. 儲存 net35-tls12-enable.reg 檔案。

  2. 連按兩下 net35-tls12-enable.reg 檔案。

  3. 按一下 [ Yes ] 以這些變更更新您的 Windows 登錄。

  4. 重新啟動電腦使變更生效。

3.6 - 在 .NET Framework 3.5 啟用強式密碼編譯

SchUseStrongCrypto 登錄值會限制 TLS 不可使用被認為是弱式的加密演算法,例如 RC4。

Microsoft 已針對早於 Windows 10 之作業系統上的 .NET Framework 3.5 發行選用的安全性更新,可自動為您設定 Windows 登錄機碼。 Windows 10 沒有更新。 您必須在 Windows 10 上手動設定登錄機碼。

For Windows 7 and Windows Server 2008 R2

若要啟用 Windows 7 和 Windows Server 2008 R2 上 .NET Framework 3.5.1 中的強式密碼編譯,請參閱知識庫文件 Windows 7 Service Pack 1 和 Windows Server 2008 R2 Service Pack 1 上 .NET Framework 3.5.1 的安全性更新描述:2014 年 5 月 13 日

For Windows Server 2012

若要啟用 Windows Server 2012 上 .NET Framework 3.5 中的強式密碼編譯,請參閱知識庫文件 Windows 8 和 Windows Server 2012 上的 .NET Framework 3.5 安全性更新描述:2014 年 5 月 13 日

For Windows 8.1 and Windows Server 2012 R2

若要啟用 Windows 8.1 和 Windows Server 2012 R2 上 .NET Framework 3.5 中的強式密碼編譯,請參閱知識庫文件 Windows 8.1 和 Windows Server 2012 R2 上的 .NET Framework 3.5 安全性更新描述:2014 年 5 月 13 日

To enable strong cryptography in .NET Framework 3.5 on Windows 10

  1. 從 Notepad.exe 建立文字檔,命名為 net35-strong-crypto-enable.reg

  2. 複製並貼上下列文字。

For 64-bit operating system

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727]
"SchUseStrongCrypto"=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v2.0.50727]
"SchUseStrongCrypto"=dword:00000001

For 32-bit operating system

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727]
"SchUseStrongCrypto"=dword:00000001
  1. 儲存 net35-strong-crypto-enable.reg 檔案。

  2. 連按兩下 net35-strong-crypto-enable.reg 檔案。

  3. 按一下 [ Yes ] 以這些變更更新您的 Windows 登錄。

  4. 重新啟動電腦使變更生效。

3.7 - 停用 Windows Schannel 中更早版本的 SSL 和 TLS

您可藉由編輯 Windows 登錄檔,啟用或停用 Windows Schannel 中的 SSL 和 TLS 支援。 每個 SSL 及 TLS 通訊協定版本皆可以獨立啟用或停用。 您不需要啟用或停用一個通訊協定版本,才啟用或停用另一個通訊協定版本。

重要事項

[!重要事項] 由於在 SSL 2.0 和 SSL 3.0 中有嚴重的安全性弱點,Microsoft 建議停用這些通訊協定版本。 > 客戶也可以選擇停用 TLS 1.0 和 TLS 1.1,以確保只使用最新的通訊協定版本。 不過,這可能導致不支援最新 TLS 通訊協定版本的軟體發生相容性問題。 客戶在生產環境中執行之前,應先對此類變更進行測試。

Enabled 登錄值會定義是否能使用該通訊協定版本。 如果值設為 0,即使預設為啟用或應用程式明確要求該通訊協定版本,該通訊協定版本也無法使用。 如果值設為 1,如果預設為啟用或應用程式明確要求該通訊協定版本,則可以使用該通訊協定版本。 如果未定義值,它會使用由作業系統決定的預設值。

DisabledByDefault 登錄值會定義是否使用預設的通訊協定版本。 此設定僅在應用程式並未明確要求使用哪個通訊協定版本時,才會套用。 如果值設為 0,會使用預設的通訊協定版本。 如果值設為 1,則不會使用預設的通訊協定版本。 如果未定義值,它會使用由作業系統決定的預設值。

停用 Windows Schannel 的 SSL 2.0 支援

  1. 從 Notepad.exe 建立文字檔,命名為 ssl20-disable.reg

  2. 複製並貼上下列文字。

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Client]
"DisabledByDefault"=dword:00000001
"Enabled"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Server]
"DisabledByDefault"=dword:00000001
"Enabled"=dword:00000000
  1. 儲存 ssl20-disable.reg 檔案。

  2. 連按兩下 ssl20-disable.reg 檔案。

  3. 按一下 [ Yes ] 以這些變更更新您的 Windows 登錄。

  4. 重新啟動電腦使變更生效。

停用 Windows Schannel 的 SSL 3.0 支援

  1. 從 Notepad.exe 建立文字檔,命名為 ssl30-disable.reg

  2. 複製並貼上下列文字。

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Client]
"DisabledByDefault"=dword:00000001
"Enabled"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Server]
"DisabledByDefault"=dword:00000001
"Enabled"=dword:00000000
  1. 儲存 ssl30-disable.reg 檔案。

  2. 連按兩下 ssl30-disable.reg 檔案。

  3. 按一下 [ Yes ] 以這些變更更新您的 Windows 登錄。

  4. 重新啟動電腦使變更生效。

停用 Windows Schannel 的 TLS 1.0 支援

  1. 從 Notepad.exe 建立文字檔,命名為 tls10-disable.reg

  2. 複製並貼上下列文字。

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client]
"DisabledByDefault"=dword:00000001
"Enabled"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server]
"DisabledByDefault"=dword:00000001
"Enabled"=dword:00000000
  1. 儲存 tls10-disable.reg 檔案。

  2. 連按兩下 tls10-disable.reg 檔案。

  3. 按一下 [ Yes ] 以這些變更更新您的 Windows 登錄。

  4. 重新啟動電腦使變更生效。

停用 Windows Schannel 的 TLS 1.1 支援

  1. 從 Notepad.exe 建立文字檔,命名為 tls11-disable.reg

  2. 複製並貼上下列文字。

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client]
"DisabledByDefault"=dword:00000001
"Enabled"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server]
"DisabledByDefault"=dword:00000001
"Enabled"=dword:00000000
  1. 儲存 tls11-disable.reg 檔案。

  2. 連按兩下 tls11-disable.reg 檔案。

  3. 按一下 [ Yes ] 以這些變更更新您的 Windows 登錄。

  4. 重新啟動電腦使變更生效。