在 SharePoint Server 2016 中启用 TLS 1.1 和 TLS 1.2 支持

适用于:no-img-132013 yes-img-162016 no-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 服务器

  3. 用于访问 SharePoint 站点的客户端计算机

重要

[!重要说明] 如果不更新这些位置,系统在使用 TLS 1.1 或 TLS 1.2 彼此相互连接时可能存在失败的风险。 系统将求助于以前的安全协议;如果以前的安全协议禁用,系统可能完全无法连接。 > 示例: SharePoint 服务器可能无法连接到 SQL Server 数据库,或者客户端计算机可能无法连接到 SharePoint 网站。

更新过程的摘要

下图显示了在 SharePoint 服务器、SQL Server 和客户端计算机上启用 TLS 1.1 和 TLS 1.2 支持所需的三步流程。

在 SharePoint 场、Microsoft SQL Server 和客户端计算机中更新服务器的三个步骤。

第 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 支持
必需
必需
建议使用 以下步骤。 虽然 SharePoint Server 2016 没有直接要求,但是与 SharePoint Server 2016 集成的其他软件可能需要它们。
1.3 - 安装 .NET Framework 3.5 更新程序,以启用 TLS 1.1 和 TLS 1.2 支持
建议
建议
1.4 - 在.NET Framework 3.5 中启用安全系数高的加密技术
建议
建议
以下步骤是 可选的。 可以根据组织的安全性和合规性要求选择运行此步骤。
1.5 - 在 Windows Schannel 中禁用早期版本的 SSL 和 TLS
可选
可选

1.1 - 安装 ODBC Driver 11 for SQL Server 更新程序,以启用 TLS 1.2 支持

默认情况下,ODBC Driver 11 for SQL Server 不支持 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 Native Client 不支持 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 支持,必须安装知识库更新程序,然后手动配置 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 更新程序,请参阅知识库文章 Support for TLS System Default Versions included in the .NET Framework 3.5 on Windows 8.1 and Windows Server 2012 R2(支持 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

若要在 .NET Framework 3.5 中针对 Windows Server 2016 启用安全系数高的加密技术,请配置以下 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 协议版本。 不需要启用或禁用一个协议版本来启用或禁用另一个协议版本。

重要

由于这些协议版本中严重的安全漏洞,Microsoft 建议禁用 SSL 2.0 和 SSL 3.0。 > 客户还可以选择禁用 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 支持
必需
必需
下一步为可选。 可以根据组织的安全性和合规性要求,选择是否执行这一步。
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 协议版本。 不需要启用或禁用一个协议版本来启用或禁用另一个协议版本。

重要

由于这些协议版本中严重的安全漏洞,Microsoft 建议禁用 SSL 2.0 和 SSL 3.0。 > 客户还可以选择禁用 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 支持
必需
必需
必需
建议使用 以下步骤。 虽然 SharePoint Server 2016 没有直接要求,但是它们通过限制使用弱加密算法来提供更好的安全性。
3.6 - 在.NET Framework 3.5 中启用强加密
建议
建议
建议
以下步骤是 可选的。 可以根据组织的安全性和合规性要求选择运行此步骤。
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 更新,请按照以下 KB 文章中的说明执行操作:Update to enable TLS 1.1 and TLS 1.2 as a default secure protocols in WinHTTP in Windows(在 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 选项>高级”,或单击“Internet Explorer >Internet 选项>高级”中的“设置”菜单

  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 。 此外,它还限制结合使用被视为安全系数低的加密算法(如 RC4)和 TLS。

为 .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 支持,必须安装知识库更新程序,并配置本部分列出的各个操作系统适用的 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 更新程序,请参阅知识库文章 Support for TLS System Default Versions included in the .NET Framework 3.5.1 on Windows 7 SP1 and Server 2008 R2 SP1(支持 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 更新,请参阅 KB文章 Support for TLS System Default Versions included in the .NET Framework 3.5 on Windows Server 2012(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 更新程序,请参阅知识库文章 Support for TLS System Default Versions included in the .NET Framework 3.5 on Windows 8.1 and Windows Server 2012 R2 (支持 Windows 8.1 和 Windows Server 2012 R2 上的 .NET Framework 3.5 中包含的 TLS 系统默认版本)

  2. 安装 KB 更新后,手动配置注册表项。

For Windows 10 (Version 1507)

  • 此功能不适用于 Windows 10 版本 1507。 必须升级到 Windows 10 版本 1511,然后为 Windows 10 版本 1511 和 Windows Server 2016 Technical Preview 4 安装累积更新:2016 年 5 月 10 日,或更新到 Windows 10 版本 1607 或更高版本。

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 已为 .NET Framework 3.5 本地 Window 10 操作系统发布了一个可选的安全更新,此更新将自动为你配置 Windows 注册表项。 没有适用于 Windows 10 的更新。 必须在 Windows 10 上手动配置 Windows 注册表项。

For Windows 7 and Windows Server 2008 R2

若要在 Windows 7 和 Windows Server 2008 R2 上的 .NET Framework 3.5.1 中启用强密码。请参阅 KB 文章 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 中启用强密码。请参阅 KB 文章 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 中启用强密码。请参阅 KB 文章 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 协议版本。 不需要启用或禁用一个协议版本来启用或禁用另一个协议版本。

重要

由于这些协议版本中严重的安全漏洞,Microsoft 建议禁用 SSL 2.0 和 SSL 3.0。 > 客户还可以选择禁用 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. 重新启动计算机,以便使更改生效。