当前任务:Microsoft 在 Win 7 上签署驱动程序。
我每次都为我的驱动程序包签名 3 次,以为我可能错过了某个步骤或什么的。但是,我似乎无法摆脱 Windows 安全错误消息“Windows 无法验证此驱动程序软件的发布者”。这不是我第一次为驱动程序包签名。几个月前,我成功地为其他驱动程序包签名。但是,使用此驱动程序包时,我总是收到 Windows 安全对话框。以下是我遵循的程序 -
使用 INF2CAT 工具创建一个新的 cat 文件。
使用 Versign 3 类公共主要认证机构 - G5.cer 对驱动程序进行自我签名。
在使用此驱动程序的设备上的 DTM 服务器和客户端上运行微软测试。
创建 WLK 提交包。
对 cab 文件进行自我签名。
提交包裹以供认证。
成功通过测试后返回的目录文件显示签名者名称为“Microsoft Windows Hardware Comptibility Publisher”。当我使用 SignTool 检查签名的有效性时,它显示签名有效。但是,当我尝试使用新的签名目录文件安装驱动程序时,Windows 会发出抱怨。
有任何想法吗?
答案1
谢谢你的帮助,Eugene。是的。我之前确实签署过另外两个驱动程序包。其中一个是 WinUSB 驱动程序的修改版本。我使用的证书与几个月前签署这两个驱动程序包时使用的证书相同。微软每次签名的费用为 250 美元。我认为如果证书有误,微软会在认证过程中对此提出投诉。我使用以下命令对 CAT 文件进行自签名。我不必指定证书名称,因为目录中只有一个证书 -
Signtool 标志 /v /a /n 公司名称 /thttp://timestamp.verisign.com/scripts/timestamp.dll 我们的目录文件.cat
以下是对 Microsoft 签名的 OutCatalogFile.cat 运行 Verify 命令的结果
C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\x64>signtool verify /v "C:\Users\logotest\Documents\serialdriversigning\OurCatalogFile.cat"
验证:C:\Users\logotest\Documents\serialdriversigning\OurCatalogFile.cat” 文件哈希值(sha1):BDDF39B1DD95881B462164129758A7FFD54F47D9
签名证书链:颁发给:Microsoft 根证书颁发机构 颁发者:Microsoft 根证书颁发机构 到期时间:2021 年 5 月 9 日星期日 18:28:13 SHA1 哈希值:CDD4EEAE6000AC7F40C3802C171E30148030C072
Issued to: Microsoft Windows Hardware Compatibility PCA
Issued by: Microsoft Root Certificate Authority
Expires: Thu Jun 04 16:15:46 2020
SHA1 hash: 8D42419D8B21E5CF9C3204D0060B19312B96EB78
Issued to: Microsoft Windows Hardware Compatibility Publisher
Issued by: Microsoft Windows Hardware Compatibility PCA
Expires: Wed Sep 18 18:20:55 2013
SHA1 hash: D94345C032D23404231DD3902F22AB1C2100341E
签名带有时间戳:2012 年 11 月 6 日星期二 11:26:48 时间戳验证者:颁发给:Microsoft Root Authority 颁发者:Microsoft Root Authority 到期时间:2020 年 12 月 31 日星期四 02:00:00 SHA1 哈希值:A43489159A520F0D93D032CCAF37E7FE20A8B419
Issued to: Microsoft Timestamping PCA
Issued by: Microsoft Root Authority
Expires: Sun Sep 15 02:00:00 2019
SHA1 hash: 3EA99A60058275E0ED83B892A909449F8C33B245
Issued to: Microsoft Time-Stamp Service
Issued by: Microsoft Timestamping PCA
Expires: Tue Apr 09 16:53:56 2013
SHA1 hash: 1895C2C907E0D7E5C0292B92C6EA8D0E236F525E
已成功验证:C:\Users\logotest\Documents\serialdriversigning\OurCatalogFile.cat”
成功验证的文件数:1 警告数:0 错误数:0
谢谢你!
回答
当我制作软件包时,软件包中的一个文件被修改了。我用签署驱动程序时使用的文件替换了它,没有收到任何错误消息。我发现以下文档很有用 -Windows® 驱动程序数字签名,作者:Scott M. Johnson,Windows 硬件质量实验室项目经理,Microsoft Corporation