6

如果这个问题是题外话,请推荐另一个 StackExchange 站点在 :-) 上发布此问题

我们公司最近从 Thawte 购买了 G2 代码签名证书。我已经完成了签署 64 位驱动程序所需的所有步骤,因此可以在 Windows 7 64 位下安装它。

即,我有:

  • 下载了 G2 Thawte 交叉证书
  • 获得了我们自己的 Thawte 证书(实际上是一个 .p12 文件,我必须将其导入并重新导出为 .pfx 文件才能正常工作)
  • 通过以下命令成功签署了驱动程序:signtool.exe sign /ac cross.cer /f private_key.pfx /p ***** /t "http://timestamp.verisign.com/scripts/timstamp.dll" / v my_driver.sys
  • 将我们公司的证书(甚至是第一个不起作用时的所有 Thawte 证书)导入机器的受信任的根授权和受信任的发布者
  • 将 thawte 交叉证书导入中间证书颁发机构

我尝试使用已通过的signtool.exe verify /pa /v my_driver.sys验证签名。如果我不在命令行中使用 /pa,这将显示“SignTool 错误:已处理证书链,但在信任提供者不信任的根证书中终止。” (这是我应该担心的事情吗?)

现在,当我尝试使用简单的 INF 文件(不是 cab 文件)安装驱动程序时,结果是关于 Windows 无法验证驱动程序的发行者的红色警告。当我选择不安装驱动程序时,我收到以下额外消息:无法验证文件,因为它没有通过 Authenticode(tm) 签名的关联目录。

我读过 Thawte 过去并不能真正用于签署这样的驱动程序,因为不知何故 MS 停止支持它,但它仍在他们的网站上列出交叉证书。不确定这是否仍然有效,找不到任何证据。

任何建议将不胜感激。

4

1 回答 1

5

您需要添加CatalogFile对 inf 文件的引用,运行Inf2Cat.exe(在 DDK 中)以生成 cat 文件,然后signtool.exe也使用它来签名。

于 2012-05-03T15:14:50.690 回答