1

我需要在我拥有的一台未连接到 Internet 的计算机上运行驱动程序(可以添加数字证书)。

微软在Driver Signing Policy的详细表格中表示,当 Secure Boot 被禁用时,我们可以与每个受信任方签署 64 位驱动程序。

但是,在公开发布的签名驱动程序页面中,看起来我们只能与非常特定的各方签名。这里“发布”的定义与我有关吗?我正在我拥有的特定机器上安装驱动程序,而不是向全世界发布它。

此外,Windows 的驱动程序签名要求(我不知道它是否已更新)提到“组件必须由 Windows“信任”的证书签名“。这是什么意思?它是仅包含 Microsoft 根认证的驱动程序,还是仅包含本地计算机知道的证书?

那么,当有人想在自己的机器上运行驱动程序而不是使用测试自签名证书时,具体的要求是什么?

4

2 回答 2

1

有许多驱动程序包没有 SYS 文件(内核模式驱动程序),并且对它们的签名要求不那么严格。在您的情况下,由于您有一个 SYS 文件,Windows(从 64 位 Windows Vista 开始)将接受的唯一签名类型是来自证书的签名,其信任链可以追溯到 Microsoft 代码验证根。

注意:我没有测试过 Windows Server 2008 或 Server 2012;我的经验仅限于 Windows 的消费者版本。

由于您可能不想为此类证书支付 200 美元,因此我建议您禁用驱动程序签名强制。我相信这将允许您运行未签名的内核模块,尽管我还没有尝试过。它绝对可以让您安装未签名的驱动程序包,但这是一个不同的问题。

我在 USB 驱动程序签名方面做了很多工作,并在一篇名为Practical Windows Code and Driver Signing的文章中写下了我的经验。

于 2015-03-18T06:03:55.650 回答
-1

您可以尝试此处列出的工具。它是Driver Signature Enforcement Overrider。确保首先启用 TestMode。我相信您必须在测试签名后重新启动。

于 2015-03-18T12:00:27.860 回答