针对 Windows 和 WSUS 的 2019 SHA-2 代码签名支持要求

摘要

为了帮助保护 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,则已拥有此更新的最新版本,无需重新安装。

需要更多帮助?

扩展你的技能
了解培训
抢先获得新功能
加入 Microsoft 内部人员

此信息是否有帮助?

谢谢您的反馈意见!

谢谢你的反馈! 可能需要转接到 Office 支持专员。

×