13

我无法让 signtool 找到我的证书。pfx 文件用于签名,我已经通过直接指定 pfx 文件和密码来检查它。但是由于其他人可以访问代码存储库,我真的不想在那里存储证书+密码。

这就是为什么我在“受信任的根证书颁发机构”中的构建服务器(作为本地计算机,而不是每个用户)上安装了 pfx(来自 symantec)。这是因为 Jenkins 是使用本地系统帐户启动的。

这就是我目前正在尝试的:

signtool sign /v /sm /s Root /n <thename> /t http://timestamp.digicert.com <thefile>

/sm / s Root - 这应该告诉 signtool 切换到“本地机器”存储,对吧?并且 Root 应该指定“受信任的根证书颁发机构”?

/n - 这里我使用证书中的“颁发给”值,即公司名称。

我遇到以下错误:

"SignTool Error: No certificates were found that met all the given criteria."

我今天浏览了这么多链接,试图找出我做错了什么。我已经在 mmc 中检查了本地计算机上的证书管理单元,并且证书正在“受信任的根证书颁发机构”中重新注册。

4

1 回答 1

12

试试这个命令:

signtool sign /v /sm /s My /n <thename> /t http://timestamp.digicert.com <thefile>

您很好地使用了/sm选项,但是当您添加时,/s Root您说 signtool 应该在Computer store但在Root authority中查找。您也可以跳过/s参数,因为/s My它是默认值。

有关更多信息,请参阅signtool的文档。

于 2014-11-18T19:52:04.180 回答