适用于: Windows 7 Service Pack 1Windows Server 2008 R2 Service Pack 1Windows Server 2008 Service Pack 2 详细
为了保护您的安全,Windows 操作系统更新使用 SHA-1 和 SHA-2 哈希算法进行双重签名,以验证更新是否直接来自 Microsoft,并且在交付期间未被篡改。 由于SHA-1算法中的缺陷,同时也为了符合行业标准,Microsoft 将仅使用更安全的 SHA-2 算法来签名 Windows 更新。
运行旧操作系统版本(Windows 7 SP1、Windows Server 2008 R2 SP1 和 Windows Server 2008 SP2)的客户将需要在 2019 年 7 月前在其设备上安装 SHA-2 代码签名支持。 从 2019 年 7 月开始,任何没有安装 SHA-2 支持的设备都不会再提供 Windows 更新。 为了帮助您做好准备,我们将在 2019 年发布对 SHA-2 签名的支持。 Windows Server Update Services (WSUS) 3.0 SP2 将接收 SHA-2 支持以正确地提供 SHA-2 签名的更新。 有关迁移时间线的信息,请参阅“产品更新”部分。
安全哈希算法1 (SHA-1) 是一种不可逆的哈希函数,在代码签名中得到了广泛的应用。 但遗憾的是,由于算法中存在的漏洞、处理器性能的提高以及云计算的出现,SHA-1 哈希算法的安全性随着时间的推移变得不那么安全。 安全哈希算法 2 (SHA-2) 等更强大的替代方案现在非常受欢迎,因为它们不会遇到相同的问题。 有关替代 SHA-1 的更多信息 , 请参阅哈希和签名算法。
从 2019 年初开始,迁移至 SHA-2 支持的过程将分阶段进行,并且支持将以独立更新的形式提供。 Microsoft 针对以下计划提供 SHA-2 支持。 请注意,下面的时间线可能会更改。 进程开始时我们将根据需要更新此页面。
目标日期 |
事件 |
适用于: |
2019 年 3 月 12 日 |
发布独立安全更新 KB4474419 和 KB4490628 以引进 SHA-2 代码签名支持。
|
Windows 7 SP1, Windows Server 2008 R2 SP1 |
2019 年 3 月 12 日 |
独立更新 KB4484071 在支持提供 SHA-2 签名更新的 WSUS 3.0 SP2 的 Windows Update 目录中提供。 对于使用 WSUS 3.0 SP2 的客户,应在 2019 年 6 月 18 日以前手动安装此更新。 |
WSUS 3.0 SP2 |
2019 年 4 月 9 日 |
独立更新 KB4493730 引入了对服务堆栈 (SSU) 的 SHA-2 代码签名支持,并作为安全更新发布。
|
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 and KB4474419) 是必须的,以便继续接收这些版本的 Windows 更新 。 仅在此时,旧版 Windows 更新签名已从双重签名 (SHA-1/SHA-2) 更改为 SHA-2。 |
Windows Server 2008 SP2 |
2019 年 7 月 16 日 | Windows 10 更新签名已从双重签名 (SHA-1/SHA-2) 更改为仅 SHA-2。 无需客户操作。 | Windows 10 1507、 |
2019 年 8 月 13 日 | 是否必需: 旧版 Windows 版本的更新将要求安装 SHA-2 代码签名支持。 需要三月份发布的支持 (KB4474419 and KB4490628) 才能继续接收这些版本的 Windows 更新 。 如果您有使用 EFI 启动的设备或 VM,请参阅常见问题解答部分,了解有关防止设备无法启动的问题的其他步骤。 仅在此时,旧版 Windows 更新签名已从双重签名 (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 |
Windows 7 SP1 和 Windows Server 2008 R2 SP1
在安装 2019 年 8 月 13 日或更高版本发布的任何汇总之前,必须安装以下更新,并且必须重新启动设备。 所需的更新可以按任意顺序安装,并且不需要被重新安装,除非有所需更新的新版本。
重要提示 在安装所有必需的更新后,且在安装任何每月汇总、安全更新或每月汇总预览之前,必须重新启动设备。
在安装 2019 年 7 月 9 日或更高版本发布的任何汇总之前,必须安装以下更新,并且必须重新启动设备。 所需的更新可以按任意顺序安装,并且不需要被重新安装,除非有所需更新的新版本。
重要提示 在安装所有必需的更新之后,且在安装任何每月汇总、仅安全更新或每月汇总预览之前,必须重新启动设备。
1. KB3033929 和 KB4039648 更新与在三月和四月发布的独立更新有什么不同?
SHA-2 代码签名支持是更早提供的,以确保大多数客户在 Microsoft 更改为 SHA-2 签名以更新这些系统之前都能获得支持。 独立更新包括一些额外的修复程序,并且可用于确保所有的 SHA-2 更新都包含在少量易于识别的更新中。 Microsoft 建议维护这些操作系统的系统映像的客户将这些更新应用于映像。
2. 其他版本的 WSUS 是否会添加 SHA-2 支持?
从 Windows Server 2012 上的 WSUS 4.0 开始,WSUS 已支持 SHA-2 签名更新,并且这些版本不需要客户操作。
只有 WSUS 3.0 SP2 需要安装 KB4484071 来支持仅签名的 SHA2 更新。
3. 我装有 Windows Server 2008 SP2 系统,其与 Windows Server 2008 R2 (或 Windows 7)构成双启动系统。 我如何更新到 SHA-2 支持?
假设您运行 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 系统。
4. 我有一个有两个分区的系统, 一个装有 Windows Server 2008 SP2 ,另一个装有 Windows 7 PE (WinPE) 启动环境。 如何更新到 SHA-2 支持?
与双启动方案类似,Windows 7 PE 环境必须更新为 SHA-2 支持。 然后,Windows Server 2008 SP2 系统必须更新为 SHA-2 支持。
5. 我正使用安装程序来顺利执行 Windows 7 SP1 或 Windows Server 2008 R2 SP1 的安装。 我正在使用一个已通过更新自定义的映像(例如,使用 dism.exe)。 如何更新到 SHA-2 支持?
6. 我正在把 Windows 7 SP1 或 Windows Server 2008 R2 SP1 的映像直接安装到磁盘,而没有运行安装程序。 如何使此方案正常工作?
注意 目前,在使用 EFI Boot 时,需要 KB3133977 作为已知问题的解决方法,即使您没有使用 BitLocker,也要应用 KB3133977。
7. Windows 7 SP1 和 Windows Server 2008 R2 SP1 上的此 SHA-2 更新是否支持使用 EFI Boot 的 x64 设备或 VM?
是的,但您需要先安装所需的更新,然后再继续: SSU (KB4490628)、 SHA-2 更新 (KB4474419) 和 KB3133977。 此外,您需要在安装所需的更新后重新启动设备,然后再安装任何其他更新。 目前,需要 KB3133977 作为已知问题的解决方法,该问题可能会阻止您的 EFI 启动设备或虚拟机 (VM) 的启动,所以即使您没有使用 BitLocker,也要应用 KB3133977。
8. 上表中未列出 Windows 10 1903 版本,它是否支持 SHA-2 更新? 是否需要执行任何操作?
自从 SHA-2 发行后,Windows 10 1903 版本就支持 SHA-2,所有更新都已经过 SHA-2 签名。 对于此版本的 Windows 不需要任何操作。
1. 我的 x64 设备或虚拟机 (VM) 不能启动,并且收到错误 0xc0000428 (STATUS_INVALID_IMAGE_HASH) ,或者我的设备在安装了 2019 年 8 月 13 日或之后发行的更新后,在重新启动时会进入恢复环境。 我已安装了 KB4474419 和 KB4490628,以便包括 SHA-2 支持。 如何恢复我的安装?
如果您看到错误 0xc0000428,并显示消息“Windows 无法验证此文件的数字签名。 最近的硬件或软件的更改可能安装了一个未被正确签名的或损坏的文件,或者可能是来自未知来源的恶意软件。”请执行以下步骤来进行恢复。
注意 目前,在 x64 上使用 EFI Boot 时,需要 KB3133977 作为已知问题的解决方法,即使您没有使用 BitLocker,也要应用 KB3133977。
2. 我已经将汇总更新部署到环境中的所有设备或虚拟机 (VM),重新启动后,我收到错误 0xc0000428 (STATUS_INVALID_IMAGE_HASH),或者我的设备进入恢复环境。 在尚未重新启动的剩余设备或 VM 上应该怎么做?
使用 2019 年 8 月 13 日或之后发布的更新,确定处于重新启动挂起状态的设备和 VM,并打开一个命令提示符
使用以下命令通过该更新的 KB 编号查找要删除的更新的程序包标识(如果不是 2019 年 8 月 13 日发布的每月汇总,请将 4512506 替换为您的目标 KB 编号): dism /online /get-packages | findstr 4512506
使用以下命令来删除更新, 用上一个命令中找到的内容替换
您现在需要安装您试图安装的更新的如何获取此更新的部分中列出的所需更新,或者安装本文的当前状态的部分中列出的所需更新。
注意 任何当前接收到错误 0xc0000428 或正在进入恢复环境的设备或虚拟机,都需要按照错误 0xc0000428 常见问题解答中的步骤进行操作。
3. 如果在 Windows 7 SP1、Windows Server 2008 R2 SP1, 或 Windows Server 2008 SP2 上试图安装更新时收到错误代码 80096010 或错误代码 80092004 (CRYPT_E_NOT_FOUND), “Windows 更新遇到一个未知错误”时,该怎么办?
如果遇到这些错误,则需要安装您试图安装的更新的如何获取此更新的部分中列出的所需更新,或安装本文的当前状态部分中列出的上述所需更新。
4. 我的 Intel Itanium IA64 设备无法启动,我收到了错误 0xc0000428 (STATUS_INVALID_IMAGE_HASH),但我已安装了 KB4474419 和 KB4490628。 如何恢复我的安装?
如果您看到错误 0xc0000428,并显示消息“Windows 无法验证此文件的数字签名。 最近的硬件或软件的更改可能安装了一个未被正确签名的或损坏的文件,或者可能是来自未知来源的恶意软件。”请执行以下步骤来进行恢复。