SignTool Error: File not found:

最近更新了手头维护的一个驱动程序,想要重新打上数字签名,结果老是报“SignTool Error: File not found:”这个错误,搞郁闷了,后来发现还是自己对公钥私钥的概念没搞清楚。

去年是参照M$官网上的说明,用 makecert 生成一个测试证书,然后再通过 signtool 来使用这个证书给驱动程序签名,同时将 .cer 文件随驱动程序一起分发,以方便 win7 x64 能自动加载这个驱动程序。

后来工作机的硬盘坏了后,找 IT 重新安装了系统,以为直接将原来生成的 .cer 文件导入就可以了,于是就发生了前面说的错误。

就俺现在的理解,.cer 相当于公钥,而 makecert 在生成 .cer 时,同时还生成了对应的私钥文件并且导入到系统中,所以后来直接将 .cer 导入其实是没用的,这个只能用来验证签名,而不能用来生成签名。

为了防止再发生这样的事情,应该在生成新证书后,连带私钥一起导出成 .pfx 文件并备份好,这样以后万一机器再出问题就可以重新导入了。

This entry was posted in 软件开发 and tagged , . Bookmark the permalink.

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s