我刚从StartSSL获得了代码签名证书,并且正在尝试签署我们的安装程序。
签名过程顺利,我得到一个安装程序exe,Windows不再抱怨来自未知的发布者。这很棒!
但是我试图确保时间戳也像宣传的那样工作,所以在我的代码签名证书到期日之后我将我的PC日期移到了2012年。
这应该没有任何区别但是当我运行相同的安装程序exe时,我现在得到同样讨厌的“未知发布者”警告。
在数字签名选项卡中查看exe的属性我可以肯定地看到今天(2010)显示的时间戳,但这似乎没有任何帮助。
谷歌搜索没有给我任何东西,除非你在时间戳字段中看到日期然后一切正常。我不敢相信,我的PC有高级约会抱怨它不行。
有谁知道这个时间戳概念是否有效以及如何确保我正确签署可执行文件?
谢谢。
StartSSL颁发的代码签名证书包含增强型密钥用法(EKU)属性“Lifetime Signing”(1.3.6.1.4.1.311.10.3.13),这会导致文件签名在证书过期时到期,而不管任何时间戳。
对不起,我没有给你答案,但看起来你看起来不应该看到你的行为,据说 Comodo的即时SSL常见问题解答。
带有时间戳的代码在a之后有效
代码签名证书
过期?
时间戳确保
该代码不会在到期时过期
证书到期。如果您的代码是
数字签名的时间戳是
即使证书有效也有效
过期。仅限新证书
如果你想签名是必要的
附加代码。如果你没有使用
期间的时间戳选项
签名时,您必须重新签名您的代码
并将其重新发送给您的客户。
Comodo似乎在这个问题上具有权威性,所以我倾向于相信他们所说的话。
我自己也在焦急地等待答案,因为我非常想自己从StartSSL购买代码签名证书。我在他们的网站上注意到,代码证书是'beta',所以也许这是他们需要解决问题的方法。
“签名时间”和“加盖签名者”的时间戳之间存在差异。当时间戳来自“标记签名者”(证书服务器)时,签名时间是您实际签署代码的时间。
使用证书颁发者时间戳签名实际上将确保即使您的证书已过期,您的签名仍然有效。