摘要

为了帮助保护 Windows 操作系统的安全性,以前已使用 SHA-1 (SHA-2 哈希算法对更新进行了签名) 。 签名用于验证更新是否直接来自 Microsoft,且在交付过程中未被篡改。 由于 SHA-1 算法中的缺点和符合行业标准,我们已更改 Windows 更新的签名,以独占方式使用更安全的 SHA-2 算法。 从 2019 年 4 月到 2019 年 9 月,此更改是分阶段进行 (请参阅"产品更新计划"部分,了解有关产品更新) 。

运行旧版 OS 版本 (Windows 7 SP1、Windows Server 2008 R2 SP1 和 Windows Server 2008 SP2) 的客户需在设备上安装 SHA-2 代码签名支持,才能安装 2019 年 7 月或之后发布的更新。 任何不支持 SHA-2 的设备将无法在 2019 年 7 月当天或之后安装 Windows 更新。 为了帮助你为此更改做好准备,我们发布了从 2019 年 3 月开始对 SHA-2 登录的支持,并进行了增量改进。 Windows Server Update Services (WSUS) 3.0 SP2 将接收 SHA-2 支持,以安全交付 SHA-2 签名的更新。 有关仅 SHA-2 迁移时间线,请参阅"产品更新计划"部分。 

背景详细信息

安全哈希算法 1 (SHA-1) 开发为不可逆哈希函数,广泛用于代码签名。 遗憾的是,SHA-1 哈希算法的安全性随着时间而变得不太安全,因为算法存在漏洞、处理器性能提高以及云计算的出现。 安全哈希算法 2 和 SHA-2 (等更强的替代) 现在强烈建议使用,因为它们不会遇到相同的问题。 有关 SHA-1 弃用详细信息,请参阅 哈希和签名算法。 

产品更新计划

从 2019 年初开始,到 SHA-2 支持的迁移过程将分阶段开始,支持将在独立更新中提供。 Microsoft 将针对以下计划提供 SHA-2 支持。 请注意,以下时间线可能会更改。 我们将根据需要继续更新此页面。

目标日期

事件

适用于

2019 年 3 月 12 日

独立安全更新 KB4474419KB4490628发布,引入了 SHA-2 代码签名支持。

Windows 7 SP1
Windows Server 2008 R2 SP1

2019 年 3 月 12 日

独立更新 KB4484071 在支持交付 SHA-2 签名更新的 WSUS 3.0 SP2 的 Windows 更新目录中提供。 对于使用 WSUS 3.0 SP2 的客户,不应晚于 2019 年 6 月 18 日手动安装此更新。

WSUS 3.0 SP2

2019 年 4 月 9 日

独立更新 KB4493730引入了对服务堆栈的 SHA-2 代码签名支持 (SSU) 作为安全更新发布。

Windows Server 2008 SP2

2019 年 5 月 14 日

独立安全更新 KB4474419 发布,引入了 SHA-2 代码签名支持。

Windows Server 2008 SP2

2019 年 6 月 11 日

独立安全更新 KB4474419重新发布,添加了缺少的 MSI SHA-2 代码签名支持。

Windows Server 2008 SP2

2019 年 6 月 18 日

Windows 10 更新签名从双 (SHA-1/SHA-2) 更改为仅 SHA-2。 无需客户操作。

Windows 10 版本 1709
Windows 10 版本 1803
Windows 10 版本 1809
Windows Server 2019

2019 年 6 月 18 日

必填: 对于使用 WSUS 3.0 SP2 的客户,必须在此日期之前手动安装 KB4484071, 以支持 SHA-2 更新。

WSUS 3.0 SP2

2019 年 7 月 9 日

必填: 旧 Windows 版本的更新需要安装 SHA-2 代码签名支持。 (KB4493730 和KB4474419) 年 4 月和 5 月发布的支持是必需的,才能继续接收这些版本的 Windows 的更新。

目前,所有旧版 Windows 更新签名都从 SHA1 和双 (SHA-1/SHA-2) 更改为 SHA-2。

Windows Server 2008 SP2

2019 年 7 月 16 日

Windows 10 更新签名从双 (SHA-1/SHA-2) 更改为仅 SHA-2。 无需客户操作。

Windows 10,版本 1507
Windows 10 版本 1607
Windows Server 2016
Windows 10 版本 1703

2019 年 8 月 13 日

必填: 旧 Windows 版本的更新需要安装 SHA-2 代码签名支持。 (年 3 月 发布的支持需要 KB4474419KB4490628) 才能继续接收这些版本的 Windows 的更新。 如果有使用 EFI 启动的设备或 VM,请参阅常见问题解答部分,了解防止设备无法启动的问题的其他步骤。

目前,所有旧版 Windows 更新签名都从 SHA-1 和双 (SHA-1/SHA-2) 更改为 SHA-2。

Windows 7 SP1
Windows Server 2008 R2 SP1

2019 年 9 月 10 日

旧版 Windows 更新签名从 (SHA-1/SHA-2) 更改为仅 SHA-2。 无需客户操作。


Windows Server 2012 Windows 8.1
Windows Server 2012 R2

2019 年 9 月 10 日

独立安全更新 KB4474419已重新发布,添加了缺失的 EFI 启动管理器。 请确保已安装此版本。

Windows 7 SP1
Windows Server 2008 R2 SP1
Windows Server 2008 SP2

2020 年 1 月 28 日

Microsoft 受信任根程序的证书信任列表 (CTL) 上的签名从 双签名 (SHA-1/SHA-2) 更改为仅 SHA-2。 无需客户操作。

所有受支持的 Windows 平台

2020 年 8 月

基于 Windows Update SHA-1 的服务终结点已停用。 这仅影响尚未使用适当安全更新更新的较旧 Windows 设备。 有关详细信息,请参阅KB4569557。

Windows 7
Windows 7 SP1
Windows Server 2008
Windows Server 2008 SP2
Windows Server 2008 R2
Windows Server 2008 R2 SP1

2020 年 8 月 3 日

Microsoft 从 Microsoft 下载中心停用了针对安全哈希算法 1 (SHA-1) Windows 签名的内容。 有关详细信息,请参阅将于 2020年 8 月 3 日停用的 Windows IT 专业人员博客 SHA-1 Windows 内容。

Windows Server 2000
Windows XP
Windows Server 2003
Windows Vista
Windows Server 2008
Windows 7
Windows Server 2008 R2
Windows 8

Windows Server 2012 Windows 8.1
Windows Server 2012 R2
Windows 10
Windows 10 服务器

当前状态

Windows 7 SP1 和 Windows Server 2008 R2 SP1

安装 2019 年 8 月 13 日或更高版本发布的任何更新之前,必须安装以下必需的更新,然后重新启动设备。 所需的更新可以按任何顺序安装,并且不需要重新安装,除非有新版本的所需更新。

  • 服务堆栈更新 (SSU) (KB4490628) 。 如果使用 Windows 更新,系统会自动提供所需的 SSU。

  • SHA-2 更新 (KB4474419) 2019 年 9 月 10 日发布。 如果使用 Windows 更新,系统会自动提供所需的 SHA-2 更新。

重要说明安装所有必需的更新后,必须先重启设备,然后才能安装任何每月汇总、仅安全性更新、每月汇总预览或独立更新。

Windows Server 2008 SP2

安装 2019 年 9 月 10 日或更高版本发布的任何汇总之前,必须安装以下更新,然后重新启动设备。 所需的更新可以按任何顺序安装,并且不需要重新安装,除非有新版本的所需更新。

  • 服务堆栈更新 (SSU) (KB4493730) 。 如果使用 Windows 更新,系统会自动提供所需的 SSU 更新。

  • 2019 年 9 月 10 (KB4474419) SHA-2 更新。 如果使用 Windows 更新,系统会自动提供所需的 SHA-2 更新。

重要说明安装所有必需的更新后,必须先重启设备,然后才能安装任何每月汇总、仅安全性更新、每月汇总预览或独立更新。

常见问题解答

一般信息、规划和问题防护

SHA-2 代码签名支持是提前交付的,以确保大多数客户在 Microsoft 更改 SHA-2 以更新这些系统之前就获得支持。 独立更新包括一些额外的修补程序,并且正在提供这些修补程序,以确保所有 SHA-2 更新都使用少量易于识别的更新。 Microsoft 建议维护这些操作系统的系统映像的客户将这些更新应用到映像。

从 WSUS 4.0 on Windows Server 2012 开始,WSUS 已支持 SHA 2 签名的更新,并且这些版本不需要客户操作。

只有 WSUS 3.0 SP2 需要 安装 KB4484071才能支持仅 SHA2 签名的更新。

假设运行 Windows Server 2008 SP2。 如果使用 Windows Server 2008 R2 SP1/Windows 7 SP1 进行双启动,则此类型的系统的启动管理器来自 Windows Server 2008 R2/Windows 7 系统。 若要成功更新这两个系统以使用 SHA-2 支持,必须先更新 Windows Server 2008 R2/Windows 7 系统,以便启动管理器更新为支持 SHA-2 的版本。 然后,更新支持 SHA-2 的 Windows Server 2008 SP2 系统。

与双启动方案类似,Windows 7 PE 环境必须更新为 SHA-2 支持。 然后,必须将 Windows Server 2008 SP2 系统更新为 SHA-2 支持。

  1. 在安装 2019 年 8 月 13 日或更高版本更新之前,运行 Windows 安装至完成并启动到 Windows

  2. 打开管理员命令提示符窗口 ,运行 bcdboot.exe。 这会从 Windows 目录复制启动文件并设置启动环境。 有关详细信息 ,请参阅 BCDBoot Command-Line 选项。

  3. 安装任何其他更新之前,请安装 2019 年 8 月 13 日重新发布的 KB4474419KB4490628 for Windows 7 SP1 和 Windows Server 2008 R2 SP1。

  4. 重新启动操作系统。 需要重启

  5. 安装任何剩余的更新。

  1. 在磁盘上安装映像并启动到 Windows。

  2. 在命令提示符下, 运行 bcdboot.exe。 这会从 Windows 目录复制启动文件并设置启动环境。 有关详细信息 ,请参阅 BCDBoot Command-Line 选项。

  3. 安装任何其他更新之前,请安装 2019 年 9 月 23 日重新发布的 KB4474419KB4490628 for Windows 7 SP1 和 Windows Server 2008 R2 SP1。

  4. 重新启动操作系统。 需要重启

  5. 安装任何剩余的更新。

是的,需要先安装所需的更新,然后才能继续:SSU (KB4490628) 和 SHA-2 更新 (KB4474419) 。  此外,在安装所需的更新后,需要重新启动设备,然后再安装任何进一步更新。

Windows 10 版本 1903 支持 SHA-2,因为它已发布,并且所有更新已仅对 SHA-2 进行签名。  此版本的 Windows 不需要任何操作。

Windows 7 SP1 和 Windows Server 2008 R2 SP1

  1. 在安装任何 2019 年 8 月 13 日或更高版本的更新之前启动到 Windows。

  2. 安装任何其他更新之前,请安装 2019 年 9 月 23 日重新发布的 KB4474419KB4490628for Windows 7 SP1 和 Windows Server 2008 R2 SP1。

  3. 重新启动操作系统。 需要重启

  4. 安装任何剩余的更新。

Windows Server 2008 SP2

  1. 在安装任何 2019 年 7 月 9 日或更高版本的更新之前启动到 Windows。

  2. 安装任何其他更新之前,请安装 2019 年 9 月 23 日重新发布的 KB4474419KB4493730 for Windows Server 2008 SP2。

  3. 重新启动操作系统。 需要重启

  4. 安装任何剩余的更新。

问题恢复

如果看到错误0xc0000428消息"Windows 无法验证此文件的数字签名。 最近的硬件或软件更改可能安装了签名错误或损坏的文件,或者可能是来自未知来源的恶意软件。" 请按照以下步骤进行恢复。

  1. 使用恢复媒体启动操作系统。

  2. 安装任何其他更新之前,使用适用于 Windows 7 SP1 和 Windows Server 2008 R2 SP1 的部署映像服务和管理 (DISM) 安装日期为 2019 年 9 月 23 日或更高版本的更新KB4474419。

  3. 在命令提示符下, 运行 bcdboot.exe。 这会从 Windows 目录复制启动文件并设置启动环境。 有关详细信息 ,请参阅 BCDBoot Command-Line 选项。

  4. 重新启动操作系统。

  1. 停止部署到其他设备,不要重启任何尚未重启的设备或 VM。

  2. 使用 2019 年 8 月 13 日或更高版本发布的更新识别重新启动挂起的设备和 VM,并打开提升的命令提示符

  3. 使用更新的 KB 编号通过以下命令查找要删除的更新的包标识 (请将 4512506 替换为目标 KB 编号(如果不是 2019 年 8 月 13 日发布的每月汇总) :dism /online /get-packages | findstr 4512506)

  4. 使用以下命令删除更新,将<包标识>替换为在上一命令中发现的内容:Dism.exe /online /remove-package /packagename:<包标识>

  5.  现在,需要安装"如何获取正在尝试安装的更新的此更新"部分中列出的所需更新,或安装本文"当前状态"部分中列出的所需更新。

注意当前收到错误或正在恢复0xc0000428的任何设备或 VM,都需要按照常见问题解答中的步骤操作,0xc0000428。

如果遇到这些错误,需要安装"如何获取正在尝试安装的更新的此更新"部分中列出的所需更新,或安装本文"当前状态"部分中列出的上述所需更新。

如果看到错误0xc0000428消息"Windows 无法验证此文件的数字签名。 最近的硬件或软件更改可能安装了签名错误或损坏的文件,或者可能是来自未知来源的恶意软件。" 请按照以下步骤进行恢复。

  1. 使用恢复媒体启动操作系统。

  2. 使用适用于 Windows 7 SP1 和 Windows Server 2008 R2 SP1 的部署映像服务和管理 (DISM) 安装 2019 年 8 月 13 日或之后发布的最新 SHA-2 更新 (KB4474419) 。

  3. 重新启动到恢复媒体。 需要重启

  4. 在命令提示符下, 运行 bcdboot.exe。 这会从 Windows 目录复制启动文件并设置启动环境。 有关详细信息,请参阅 BCDBoot Command-Line选项。

  5. 重新启动操作系统。

如果遇到此问题,可以通过打开命令提示符窗口并运行以下命令来安装更新 (将 <msu 位置> 占位符替换为更新文件的实际位置和文件名) :

wusa.exe <msu 位置> /quiet

此问题在 2019 年 10 月 8 日发布的 KB4474419中得到解决。 此更新将自动从 Windows 更新和 Windows Server Update Services (WSUS) 。 如果需要手动安装此更新,则需要使用上述解决方法。 

注意如果以前安装了 2019 年 9 月 23 日发布的 KB4474419,则已拥有此更新的最新版本,无需重新安装。

Need more help?

Expand your skills
Explore Training
Get new features first
Join Microsoft Insiders

Was this information helpful?

How satisfied are you with the translation quality?
What affected your experience?

Thank you for your feedback!

×