弃用软件发行者证书、商业发布证书和商业测试证书
注意
大多数交叉证书在 2021 年 7 月过期。 你不能使用链接到过期交叉证书的代码签名证书为任何版本的 Windows 创建新的内核模式数字签名。
Microsoft 受信任的根程序不再支持具有内核模式签名功能的根证书。
有关策略要求,请参阅 Windows 10 内核模式代码签名要求。
具有内核模式代码签名功能的现有交叉签名根证书将继续工作,直到过期。 所有链接回这些根证书的软件发布者证书、商业发布证书和商业测试证书也会对同一计划失效。
若要对驱动程序进行签名,请首先注册 Windows 硬件开发人员中心程序。
常见问题解答
- 受信任的交叉证书的到期计划是什么?
- 交叉签名证书有哪些替代项可用于测试驱动程序?
- 现有已签名的驱动程序包会发生什么情况?
- 是否有办法运行生产驱动程序包而不将其公开给 Microsoft?
- 是否每个新版本的驱动程序包都需要重新提交到硬件开发人员中心?
- 是否可以使用现有第三方颁发的证书对非驱动程序代码进行签名?
- 我是否可以继续使用我的 EV 证书对提交给硬件开发人员中心的文件进行签名?
- 如何知道我的签名证书是否会受到这些到期的影响?
- 我们如何自动进行 Microsoft 测试签名来处理生成过程?
- Microsoft 是生产内核模式代码签名的唯一提供者吗?
- 硬件开发中心不提供 Windows XP 驱动程序签名,我如何让我的驱动程序在 XP 中运行?
- 不同 Windows 版本的产品签名选项有什么不同?
受信任的交叉证书的到期计划是什么?
所有交叉签名根证书都已过期。
交叉签名证书有哪些替代项可用于测试驱动程序?
对于以下所有选项,必须启用 TESTSIGNING 启动选项。
有关在启动时测试驱动程序的信息,请参阅如何安装 Windows 安装程序和启动所需的测试签名的驱动程序。
有关详细信息,请参阅在开发和测试期间为驱动程序签名。
现有已签名的驱动程序包会发生什么情况?
只要驱动程序包的时间戳在叶签名证书的到期日期之前,它们就会继续工作。
是否有办法运行生产驱动程序包而不将其公开给 Microsoft?
否,所有生产驱动程序包都必须提交给 Microsoft 并由其签名。
驱动程序包的每个新生产版本都需要 Microsoft 签名吗?
是的,每次重建生产级别驱动程序包时,都必须由 Microsoft 对其进行签名。
是否可以使用现有第三方颁发的证书对非驱动程序代码进行签名?
可以,这些证书将继续有效,直到它们过期为止。 使用这些证书签名的代码只能在用户模式下运行,除非代码具有有效的 Microsoft 签名。
我是否可以继续使用我的 EV 证书对提交给硬件开发人员中心的文件进行签名?
可以,EV 证书将继续有效,直到证书过期为止。 如果在颁发 EV 证书的交叉证书过期后使用 EV 证书对内核模式驱动程序进行签名,则生成的驱动程序将无法加载、运行或安装。
如何知道我的签名证书是否会受到这些到期的影响?
如果交叉证书链在 Microsoft Code Verification Root
中结束,则签名证书会受到影响。
要查看交叉证书链,请运行 signtool verify /v /kp <mydriver.sys>
。 例如:
我们如何自动进行 Microsoft 测试签名来处理生成过程?
你的生成进程可以调用硬件开发人员中心 API。
有关显示使用情况的示例,请参阅 Surface 开发人员中心管理器存储库。
Microsoft 是生产内核模式代码签名的唯一提供者吗?
是的。
硬件开发中心不提供 Windows XP 驱动程序签名,我如何让我的驱动程序在 XP 中运行?
仍然可以使用第三方颁发的代码签名证书对驱动程序进行签名。 但是,必须将对驱动程序进行签名的证书导入到目标计算机上的 Local Computer Trusted Publishers
证书存储中。 有关详细信息,请参阅受信任的发布者证书存储。
不同 Windows 版本的产品签名选项有什么不同?
警告
不再接受交叉签名进行驱动程序签名。 使用交叉证书对内核模式驱动程序进行签名违反了 Microsoft 受信任的根程序 (TRP) 策略。 TRP 不再支持具有内核模式签名功能的根证书。 CA 将吊销违反 Microsoft TRP 策略的证书。
如果你的驱动程序在 Windows 7、8 或 8.1 上运行,则必须通过 Windows 硬件兼容性计划对驱动程序进行签名。 若要开始,请参阅创建新硬件提交。
从 Windows 10 开始,请使用 WHCP 或证明签名。
如果你在使用 WHCP 对驱动程序进行签名时遇到困难,请使用以下方式之一报告具体情况:
- 使用通过 Microsoft 合作伙伴中心仪表板提供的 Microsoft Collaborate 门户创建反馈 bug。
- 转到 Windows 开发人员支持,选择联系我们选项卡,然后在技术支持框中,选择驱动程序开发和测试/认证旁边的提交事件。