我想构建 WPF 应用程序并对其进行代码签名,并使用 Jenkins 使用 ClickOnce 进行部署。
我的设置是:
- Jenkins(最新版本,运行管理员)
- USB 令牌上的证书,在 SafeNet 客户端中激活单点登录 https://xrstf.de/2018/03/safenet-token-code-signing-gitlab-ci/由于 USB 令牌显示弹出窗口以输入令牌密码
- running
signtool.exe sign /a /v "<path>\Shared.dll"
在管理控制台中运行良好
- 运行与 AfterCompile/AfterPublish 构建命令相同的命令会导致以下错误:
SignTool error : No certificates were found that met all the given criteria.
发现了一些相关问题 and here https://stackoverflow.com/questions/17927895/automate-extended-validation-ev-code-signing,但还没有解决方案。
如何确保 Jenkins 服务在运行 Signtool 命令时找到 USB 令牌?
If you are running jenkins as a windows service you need to change properties of Jenkins from services.
右键单击并选择属性。在“登录”选项卡上,选择“此帐户”并输入您的凭据。
不要忘记按照所述从 SafeNet 身份验证客户端选中“启用单点登录”here https://stackoverflow.com/a/26126701/517134
使用 USB 令牌进行签名;
"signtool.exe" sign /a /tr http://timestamp.globalsign.com/?signature=sha2 /td SHA256 "your_file"
这对我有用。我希望它也对你有帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)