【问题标题】:signtool with certificate stored in local computer带有证书的签名工具存储在本地计算机中
【发布时间】:2015-01-15 21:14:07
【问题描述】:

我无法让 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 中检查了本地计算机上的证书管理单元,并且证书正在“受信任的根证书颁发机构”中重新注册。

【问题讨论】:

    标签: certificate code-signing signtool


    【解决方案1】:

    试试这个命令:

    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 的文档。

    【讨论】:

    • 我切换到“我的”并在本地机器/个人中安装了证书,现在它可以工作了!谢谢!现在我遇到了另一个问题,无法访问时间戳服务器。当我从构建服务器上的命令行手动触发 signtool 时,它是可以访问的。但不是在构建服务器触发它时。
    • 可能是代理问题?用户设置了代理,但系统帐户没有。
    猜你喜欢
    • 2011-04-07
    • 1970-01-01
    • 2020-06-10
    • 2018-06-23
    • 1970-01-01
    • 2018-02-22
    • 2013-07-02
    • 1970-01-01
    • 2018-12-13
    相关资源
    最近更新 更多