【发布时间】:2012-02-21 16:01:50
【问题描述】:
作为我们构建系统的一部分,我们使用带有证书的 signtool.exe 在构建二进制文件后对其进行签名。偶尔(很难说什么时候会罢工),签约失败:
error MSB3073: The command "C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\bin\signtool.exe" [...] exited with code 1.
根据 MSDN,退出代码 1 表示签署文件时出错。我可以验证该文件没有被签名。
我还注意到,有时时间戳部分会超时并显示不同的错误消息,尽管文件仍会被签名(没有时间戳)。
如何排除和修复这些看似随机、不一致的签名失败?
【问题讨论】:
-
我也有同样的经历:signtool 在时间戳期间偶尔会失败。除了重新运行signtool之外似乎没有其他解决方案。
-
@EugeneMayevski'EldoSCorp 有些人报告说更新他们的 Windows XP 证书是可行的,还有一些其他类似的奇怪东西。我想要一个明确的答案,因为失败的构建对我来说非常严重。但我担心你是对的。
-
假设您的时间戳服务器完全无法访问(网络电缆被拔掉等)。用于相同目的的 signtool 或其他工具将如何处理这个问题?当然,我希望 signtool 能够更容忍失败并尝试再次执行时间戳,但无论如何您必须为可能的时间戳失败做好准备。
-
是的。也许答案是在更高的层次上解决这个问题,比如在持续集成服务器上。不过,我仍然希望有一个较低级别的解决方案。
标签: cruisecontrol.net digital-certificate signtool