1

我最近遇到了一个非常奇怪的问题。我们产品的编译包括签署内核模式驱动程序和添加会签。这是通过调用 DDK(现为 WDK)中包含的 signtool 来完成的:

"%DDKBASE%\6001.18000\bin\SelfSign\signtool.exe" 签名 /T http://timestamp.globalsign.com/scripts/timstamp.dll /ac "path-to-countercert\MSCV-GlobalSign.cer" /s SPC /n "EldoS 公司" %1

直到最近,当我们发现反证书没有添加到签名的驱动程序时,一切都运行良好。signtool 不报告任何错误并默默地忽略证书。签名本身和主证书链已正确应用,并且仅缺少反证书。

来自更高版本 WDK(版本 7600.16385.0)的 SignTool 使用相同的命令行可以正常工作。

我尝试重新注册 capicom.dll,附带有问题的 signtool(它位于同一个文件夹中),但这没有帮助。

我不确定我们是否可以使用来自 7600.16385.0 的 signtool,因为我觉得它可能会破坏与 Windows 2000 的兼容性。

所以问题是,是否有人知道可能出了什么问题?

Upd:嗯,看起来 7600 signtool 工作正常(即使用该版本签名的驱动程序在 XP 和 Windows 7 上工作正常),所以我们现在就走这条路,将来会用我们自己的自制工具替换 signtool 以避免这种情况惊喜。

4

1 回答 1

1

使用7600.16385.0版本的signtool就可以了。它仍然可以在 Windows 2000 上运行。至于 6001.18000 版本的问题,请检查您的证书存储中是否有您公司的多个证书。可能选错了。

于 2010-11-21T11:56:43.200 回答