使用 Microsoft 登录
登录或创建帐户。
你好,
使用其他帐户。
你有多个帐户
选择要登录的帐户。

摘要

传输层安全性 (TLS) 1.0 和 1.1 是用于通过计算机网络创建加密通道的安全协议。 自 Windows XP 和 Windows Server 2003 以来,Microsoft一直支持它们。 但是,法规要求正在发生变化。 此外,TLS 1.0 中还存在新的安全漏洞。 因此,Microsoft建议删除 TLS 1.0 和 1.1 依赖项。 我们还建议尽可能在操作系统级别禁用 TLS 1.0 和 1.1。 有关详细信息,请参阅 TLS 1.0 和 1.1 禁用。 在 2022 年 9 月 20 日预览版更新中,我们将默认禁用基于 winhttp 和 wininet 的应用程序的 TLS 1.0 和 1.1。 这是正在进行的工作的一部分。 本文将帮助你重新启用它们。 这些更改将在安装 2022 年 9 月 20 日或之后发布的 Windows 更新后反映出来。  

在浏览器中访问 TLS 1.0 和 1.1 链接时的行为

2022 年 9 月 20 日之后,当浏览器打开使用 TLS 1.0 或 1.1 的网站时,将显示一条消息。 请参阅图 1。 消息指出站点使用过时或不安全的 TLS 协议。 若要解决此问题,可以将 TLS 协议更新为 TLS 1.2 或更高版本。 如果无法执行此操作,可以启用 TLS,如 启用 TLS 1.1 及更低版本中所述。

访问 TLS 1.0 和 1.1 链接时的 Internet Explorer 窗口

图 1:访问 TLS 1.0 和 1.1 网页时的浏览器窗口

访问 winhttp 应用程序中的 TLS 1.0 和 1.1 链接时的行为

更新后,基于 winhttp 的应用程序可能会失败。 错误消息为“在执行 WinHttpSendRequest 操作时ERROR_WINHTTP_SECURE_FAILURE”。

访问基于 winhttp 或 wininet 的自定义 UI 应用程序中的 TLS 1.0 和 1.1 链接时的行为

当应用程序尝试使用 TLS 1.1 及更低版本创建连接时,连接可能会失败。 关闭应用程序或应用程序停止工作时,将显示“程序兼容性助手 (PCA) 对话框,如图 2 所示。

关闭应用程序后的程序兼容性助手弹出窗口

图 2:关闭应用程序后的“程序兼容性助手”对话框

PCA 对话框指出,“此程序可能未正确运行。” 在该选项下,有两个选项:

  • 使用兼容性设置运行程序

  • 此程序已正确运行

使用兼容性设置运行程序

选择此选项时,应用程序将重新打开。 现在,使用 TLS 1.0 和 1.1 的所有链接都正常工作。 从此以后,将不会显示 PCA 对话框。 注册表编辑器将条目添加到以下路径:

  • Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Compatibility Assistant\Store。 

  • Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers。 

如果错误地选择此选项,可以删除这些条目。 如果删除它们,下次打开应用时将看到 PCA 对话框。

应使用兼容性设置运行的程序列表

图 3:应使用兼容性设置运行的程序列表

此程序已正确运行

选择此选项时,应用程序会正常关闭。 下次重新打开应用程序时,不会显示 PCA 对话框。 系统会阻止所有 TLS 1.0 和 1.1 内容。 注册表编辑器将以下条目添加到 路径Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Compatibility Assistant\Store。 请参阅图 4。 如果错误地选择此选项,可以删除此项。 如果删除条目,下次打开应用时将看到 PCA 对话框。

注册表编辑器中的条目,指定应用正确运行

图 4:注册表编辑器中的条目,指出应用正确运行

重要 仅针对特定应用程序启用旧版 TLS 协议。 即使它们在系统范围的设置中被禁用,也是如此。

启用 TLS 版本 1.1 及更低版本 (wininet 和 Internet Explorer 设置)

建议不要启用 TLS 1.1 及更低版本,因为它们不再被视为安全。 它们容易受到各种攻击,例如 POODLE 攻击。 因此,在启用 TLS 1.1 之前,请执行下列操作之一:

  • 检查是否有较新版本的应用程序可用。

  • 要求应用开发人员在应用中进行配置更改,以删除 TLS 1.1 及更低版本的依赖项。

如果解决方案均不起作用,则可通过两种方法在系统范围的设置中启用旧 TLS 协议:

  • Internet 选项

  • 组策略编辑器

Internet 选项

若要打开“Internet 选项”,请在任务栏上的搜索框中键入“ Internet 选项 ”。 还可以从图 1 所示的对话框中选择“ 更改设置 ”。 在“ 高级 ”选项卡上,在 “设置” 面板中向下滚动。 可以在那里启用或禁用 TLS 协议。

“Internet 选项”窗口

图 5:“Internet 属性”对话框

组策略编辑器

若要打开组策略编辑器,请在任务栏搜索框中键入 gpedit.msc。 此时会显示一个如图 6 所示的窗口。 

组策略编辑器窗口

图 6:组策略编辑器窗口

  1. 导航到“本地计算机策略> (计算机配置”或“用户配置”) >,> Windows 组件>Internet Explorer > Internet 控制面板 > 高级页面>关闭加密支持。 请参阅图 7。

  2. 双击“ 关闭加密支持”。

    用于在 GPedit.msc 中关闭加密支持的路径

    图 7:在组策略编辑器中关闭加密支持的路径

  3. 选择 “已启用” 选项。 然后使用下拉列表选择要启用的 TLS 版本,如图 8 所示。

    关闭启用的加密支持,并显示各种选项的下拉列表

    图 8:启用“关闭加密支持和下拉列表”

在组策略编辑器中启用策略后,无法在 Internet 选项中对其进行更改。 例如,如果选择“ 使用 SSL3.0 和 TLS 1.0”,则所有其他选项在“Internet 选项”中将不可用。 请参阅图 9。 如果在“组策略编辑器”中启用“关闭加密支持”,则无法更改“Internet 选项”中的任何设置。

具有灰显 SSL 和 TLS 设置的 Internet 选项

图 9:显示 SSL 和 TLS 设置不可用的 Internet 选项

启用 TLS 版本 1.1 及更低版本 (winhttp 设置)

请参阅更新以在 Windows 中的 WinHTTP 中启用 TLS 1.1 和 TLS 1.2 作为默认安全协议

重要的注册表路径 (wininet 和 Internet Explorer 设置)

  • Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\CurrentVersion\Internet Settings

    • 在这里可以找到 SecureProtocols,如果使用组策略编辑器,它将存储当前启用的协议的值。

  • Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings

    • 在这里可以找到 SecureProtocols,如果使用 Internet 选项,它将存储当前启用的协议的值。

  • 组策略 SecureProtocols 将优先于 Internet 选项设置的协议。

启用不安全的 TLS 回退

上述修改将启用 TLS 1.0 和 TLS 1.1。 但是,它们不会启用 TLS 回退。 若要启用 TLS 回退,必须在注册表中的以下路径下将 EnableInsecureTlsFallback 设置为 1。

  • 更改设置:SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\winhttp

  • 设置策略:SOFTWARE\Policies\Microsoft\Windows\CurrentVersion\Internet Settings

如果 EnableInsecureTlsFallback 不存在,则必须创建新的 DWORD 条目并将其设置为 1。

重要的注册表路径

  1. ForceDefaultSecureProtocols  

    • HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\winhttp 

    • 默认情况下,它为 FALSE。 设置非零值将阻止应用程序使用 winhttp 选项设置自定义协议。

  2. EnableInsecureTlsFallback 

    • 更改设置:SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\winhttp

    • 设置策略:SOFTWARE\Policies\Microsoft\Windows\CurrentVersion\Internet Settings

    • 默认情况下,它为 FALSE。 如果握手失败, (tls1.2 及更高) 的安全协议,则设置非零值将使应用程序能够回退到不安全的协议 (TLS1.0 和 1.1) 。

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。

此信息是否有帮助?

你对语言质量的满意程度如何?
哪些因素影响了你的体验?
按“提交”即表示你的反馈将用于改进 Microsoft 产品和服务。 你的 IT 管理员将能够收集此数据。 隐私声明。

谢谢您的反馈!

×