如何使用我的代码签名证书签署exes和dll

时间:2010-04-27 04:39:40

标签: code-signing

(我从Thawte那里购买了代码签名证书,并且在整个过程中一直对我感到沮丧。

我从他们那里得到的是:

  • .spc / .p7b file
  • .pvk file

(注意我没有他们的pfx文件。天知道为什么,但我一直在与他们的技术支持人员争斗一周)

在任何情况下,我都会在他们的网站上找到“帮助”链接,在MS上找到signcode.exe这对我来说是无用的,因为我在我的机器上找不到exe,但是我确实有signtool.exe。

不幸的是,我对命令行参数listed on this MS help site感到困惑。

具体来说,我使用什么参数和什么值?我尝试了我认为很明显的东西,但它根本不起作用。

我可以让签名向导工作,但是我需要在Hudson CI批处理文件中以非交互方式工作。

看起来真的不应该是这么困难,但到目前为止它都是黑魔法。

感谢您的帮助

1 个答案:

答案 0 :(得分:9)

首先,您可以使用http://msdn.microsoft.com/en-us/library/ff549703(VS.85).aspx

中描述的pvk2pfx工具生成您自己的pfx文件

这样的东西
  

pvk2pfx -pvk cert.pvk -spc cert.spc -pfx cert.pfx -pi密码

应该这样做。

其次,signtool是你追求的工具。 http://msdn.microsoft.com/en-us/library/aa387764(VS.85).aspx

  

signtool sign /?

获取帮助,但您可能会执行的基本命令是

  

signtool sign / f cert.pfx / p password target.exe

哪个会签署target.exe。如果要将证书放入计算机上的证书存储区(这是CSP位),则会变得更加复杂。这对于在很多开发机器上进行签名,或者在您希望避免将证书放在源代码管理中的构建实验室机器上来说非常有用。