我有一个问题,完全不理解。几天前,我从我们的供应商(GlobalSign)颁发了一个新的代码签名证书。
在使用执行构建/代码签名的用户登录到构建服务器后,我启动了 certmgr
,导航到个人证书存储并删除了旧的证书。然后,我使用导入对话框导入了新证书,包括它的私钥。
测试构建显示,signtool 仍然使用旧证书来签署应用程序。但是,我无法在 certmgr 中找到此证书的任何位置,甚至无法通过搜索该证书的 SHA1 校验和来查找。
经过一些谷歌搜索,我找到了这篇博客文章:http://qualapps.blogspot.de/2008/07/installing-code-signing-certificate.html 它陈述了以下内容:
删除旧证书。如果您正在更新现有证书,则保留旧证书通常没有用处,并且具有多个证书会破坏 SIGNTOOL(如果 signtool 正在搜索证书存储)。转到“控制面板/Internet 选项/内容”,单击“证书”,选择旧证书,然后单击“删除”。如果您允许 PVKIMPRT 决定将其放在哪里,则旧证书可能会出现在“个人”页面上。
我遵循了这些说明,但我能找到的只有新证书。
"C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Bin\signtool" sign /v /sm /n "my company name" /tr http://tsa.starfieldtech.com "the-setup.exe"
"
我的公司名称"是旧证书和新证书中都包含的名称。
a. 我该如何找出旧证书仍存储在哪里并删除它? b. 我该如何强制signtool使用新证书,或者至少失败?!
"
signtool.exe sign /f codesign.pfx /p PASSWORD -tr "http://www.startssl.com/timestamp" "Hello World.exe"
。博客链接:https://www.pierschel.com/de/software-blog/18-code-signing-tutorial-de - Vertigo