Microsoft 已弃用交叉签名证书,为 Windows 11 和 10 签署内核驱动程序的新程序是啥?

Posted

技术标签:

【中文标题】Microsoft 已弃用交叉签名证书,为 Windows 11 和 10 签署内核驱动程序的新程序是啥?【英文标题】:Microsoft deprecated cross-signing certificates, what's the new procedure to sign kernel drivers for Windows 11 & 10?Microsoft 已弃用交叉签名证书,为 Windows 11 和 10 签署内核驱动程序的新程序是什么? 【发布时间】:2021-10-27 02:58:53 【问题描述】:

Microsoft deprecated cross-signing certificates,但是,文档中并不清楚新程序是什么。

从上面的文档中,MS 是唯一的提供者,但他们的支持声称您仍然可以从其他供应商处获得一个(例如 Digicert、Globalsign 等...)

有人知道为 Windows 11 和 10 签署生产内核驱动程序的流程吗?

任何帮助将不胜感激, 谢谢!

【问题讨论】:

【参考方案1】:

我自己没有做过,但如果你想为 Windows 10 或 11 制作内核模块,我认为你应该使用“证明签名”。您链接到的页面有一个名为“证明签名”的链接:

https://docs.microsoft.com/en-us/windows-hardware/drivers/dashboard/attestation-signing-a-kernel-driver-for-public-release

基本上,您制作一个驱动程序,使用证书颁发机构的 EV 证书对其进行签名,然后使用名为“硬件开发人员中心仪表板门户”的网站提交以供 Microsoft 检查和签名。我还看到微软为网站使用了一些其他名称:“硬件开发中心仪表板”和“合作伙伴中心”。

如果您正在制作一个简单的仅 INF 驱动程序,或者您正在使用作为 Windows 一部分的内核模块,或者您正在使用已经被另一个人正确签名的内核模块,则不需要使用门户派对。

这是 2015 年引入门户的原始公告: https://techcommunity.microsoft.com/t5/windows-hardware-certification/driver-signing-changes-in-windows-10/ba-p/364859

在我写的这篇长文中有更多信息:https://www.davidegrayson.com/signing/

【讨论】:

谢谢,我知道证明签名并在过去使用过,但是,由于该文档自 2017 年以来未更新,之后 MS 更改了流程,我如何确定它会还在工作吗?您还写了“...并由 MS 签名”,您是指交叉签名(不推荐使用的程序)还是其他什么?如果是后者,究竟是什么?赞赏! 我的理解是,在您将驱动程序提交给他们后,Microsoft 会对您的驱动程序应用适当的签名,并且他们的签名足以将其加载到您在使用门户时请求的任何操作系统上。这将不同于旧的交叉签名,但我认为我们不需要知道细节,因为微软会负责制作签名。 感谢您的回复,我们遵循了建议(这与微软的建议类似),我们花了一段时间才收到证书,但是它不起作用,现在驱动程序不起作用加载错误 0x800B010C“证书已被其颁发者明确吊销。”尽管通过运行“signtool verify /v /va /all ”测试所有证书都是有效的。有什么想法吗? 你说的是什么证书,是谁给你的?您是否双击并检查了它及其整个信任链?听起来发行人有错误。大多数证书都带有证书吊销列表的 URL,该列表基本上是一个网站,如果出现问题(例如证书被滥用或私钥泄露),颁发者可以在该网站上吊销证书。我不确定 signtool 是否检查证书吊销列表。 感谢@David,这是来自 Certum 的 EV 证书,我们已经检查了整个链并手动验证了 CRL,我们的证书没有被吊销,MS 的 CRL硬件(用于证明签名)为空。

以上是关于Microsoft 已弃用交叉签名证书,为 Windows 11 和 10 签署内核驱动程序的新程序是啥?的主要内容,如果未能解决你的问题,请参考以下文章

Microsoft BotBuilder Bot State API 已弃用。 , 在理解新架构方面需要帮助

Xcode 8 - 配置文件与配置文件(已弃用)

delphi 如何将属性标记为已弃用?

将 PLSQL 过程/函数标记为已弃用

是否可以在打字稿中将某些内容标记为已弃用?

IntentService 已弃用,如何将其替换为 JobIntentService?