2016 年 7 月 26日首次发布在 MSDN 上,我们宣布从 Windows 10 发布开始,所有新的 Windows 10 内核模式驱动程序都必须提交到 Windows 硬件开发人员中心仪表板门户 (Dev Portal)才能由 Microsoft 进行数字签名。但是,由于技术和生态系统就绪性问题,Windows 代码完整性未执行此规定,并且仅包含策略声明。
从 Windows 10 版本 1607 的新安装开始,操作系统将强制实施以前定义的驱动程序签名规则,并且 Windows 10 版本 1607 不会加载任何未由开发门户签名的新内核模式
驱动程序。操作系统签名强制仅适用于新的操作系统安装;从较早的操作系统升级到 Windows 10 的系统,版本 1607 将不受此更改的影响。
我们正在进行这些更改,以帮助使 Windows
更安全。这些更改限制了最终用户系统被恶意驱动程序软件破坏的风险。
如果您是驱动程序开发人员,您需要
这样做:
确保通过 Windows 硬件开发人员中心仪表板门户向 Microsoft 提交新的驱动程序。
开始获取扩展验证 (EV) 代码签名证书的过程。提交到门户的所有驱动程序都必须由 EV 证书签名。
常见问题 解答
确切的例外是什么?交叉签名的驱动程序是否仍然有效?强制仅在新安装中执行,安全启动打开,并且仅适用于新的内核模式驱动程序:
在 Windows 10 版本 1607 之前从 Windows 版本升级的电脑仍将允许安装交叉签名的驱动程序。
具有安全启动关闭的 PC 仍将允许安装交叉签名的驱动程序。
使用 2015 年 7 月 29 日之前颁发的最终实体证书签名的驱动程序将继续允许将链式链与受支持的交叉签名 CA 进行关联。
为了防止系统无法正确启动,不会阻止引导驱动程序,但程序兼容性助手将删除它们。Windows 的未来版本将阻止引导驱动程序。
总之,对于未升级的 Windows 10 版本 1607 与安全启动 ON 的新安装,驱动程序必须由 Microsoft 签名,或使用 2015 年 7 月 29 日之前颁发的最终实体证书,
该证书将链式关联到受支持的交叉签名CA。我需要重新签名这些驱动程序才能让它们使用 Windows 10 版本 1607 吗?不可以。
无需重新签名现有驱动程序。为确保向后兼容性,由 2015 年7 月 29 日之前颁发的有效交叉签名证书正确签名的驱动程序将继续通过 Windows 10 版本 1607 的签名检查。
旧版本的 Windows 呢? 本文中描述的更改仅适用于 Windows 10 版本 1607 。
请注意,Windows 硬件开发人员中心仪表板门户将要求使用 EV 代码签名证书签名所有新提交,无论您计划使用驱动程序包支持什么操作系统。
如何在开发和测试期间对驱动程序进行签名?
创建测试签名证书,电脑打开测试模式,使用signtool进行签名;具体说明会在下面的文章有具体介绍
此外,如果安全启动设置为 OFF,则使用现有交叉签名证书签名的驱动程序将继续有效。
如何对驱动程序进行签名,以便它与 Windows Vista、Windows 7、Windows 8、Windows 8.1 和 Windows 10兼容? 您只需要运行 Windows 10 的 HLK 测试,并像过去一样为 Windows 8.1 和早期版本运行 HCK 测试。
然后,使用 Windows 10 HLK,合并两个测试日志,并将驱动程序以及合并的 HLK/HCK 测试结果提交到 Windows 硬件开发人员中心仪表板门户。门户将正确对驱动程序进行签名,以便它在您指示的所有平台上工作。
扩展验证证书开发门户包签名呢?门户当前要求所有驱动程序提交者将有效的 EV 代码签名证书注册到其帐户。
Windows 本身对驱动程序由 EV 证书签名没有任何特殊要求。