windows - 在 Windows 10 中签署使用 WinUSB 驱动程序的自定义 *.cat 文件

标签 windows certificate driver code-signing

我需要一些有关 Windows 10 中驱动程序签名的说明。

我们有使用 Winusb.sys 驱动程序的工作驱动程序包,该驱动程序从一开始就由 Microsoft 签名。但是要将此驱动程序安装到客户机器上,我们有自己的 *.inf 和 2 个为每个支持的平台生成的 *.cat 文件。目前我们在 Windows 10 中使用此驱动程序没有问题,因为修改了对 Windows 8 的支持,但我们希望在不久的将来为驱动程序添加一些额外的硬件设备支持,因此它将被修改并需要辞职。

问题是我们需要什么证书(扩展验证(“EV”)代码签名证书或只是标准证书)来签署这些 *.cat 文件,以便我们的驱动程序可以在 Windows 10 上正确安装。还有必要吗?将驱动程序提交到 Windows 硬件开发人员中心仪表板门户?

我看到了this和其他一些文章指出,只有内核模式驱动程序才需要 EV 证书签名(似乎在 Win10 发布 90 天后用户模式驱动程序也需要),但 WinUSB 驱动程序是内核模式并且完全支持并最初由 Microsoft 签名。那么,我们需要什么样的证书来签署 *.cat 文件,我们是否需要将它们提交到 Microsoft 门户?

签名前的文件结构如下

driver
|--*.inf
|--*amd64.cat
|--*x86.cat
|--amd64
      |--WdfCoInstaller01009.dll
      |--winusbcoinstaller2.dll
|--i386
      |--WdfCoInstaller01009.dll
      |--winusbcoinstaller2.dll
|--ia64
      |--WdfCoInstaller01009.dll
      |--winusbcoinstaller2.dll

最佳答案

我公司的其中一款设备也使用 WinUSB。我们目前使用 Godaddy 的“驱动程序签名”证书。在您的计算机上安装证书后(他们有关于如何执行此操作的分步说明),您需要生成一个 pfx 文件,然后您可以使用 signtool 实用程序对安全目录进行签名。

此链接对我来说是一个很好的资源:http://www.davidegrayson.com/signing/

关于windows - 在 Windows 10 中签署使用 WinUSB 驱动程序的自定义 *.cat 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33304371/

相关文章:

VeriSign 签名证书中的 Java SSLHandshakeException

java - 保护 JDBC 连接时的证书和 keystore 配置

c - ((uint32_t *)arg) 是什么意思? (上下文如下)

.net - 为 .NET 中的客户端应用程序创建证书

linux-kernel - 如何使用 linux 驱动程序读取/写入 USB 存储设备?

odbc - OLEDB 与 ODBC

c++ - 如何让 EnumWindows 列出所有窗口?

windows - 并行执行批处理文件并等待所有完成

什么都不做的 Windows 可执行文件

python - C 编译的程序在我的 Windows 10 中无法运行