2010-02-06 120 views
10

我刚刚从StartSSL获得我的代码签名证书,并且正在尝试签署我们的安装程序。如何验证时间戳是否已正确完成已签名代码

签名过程进展顺利,我得到一个安装程序的exe,Windows不再抱怨来自未知的出版商。这很棒!

但是我试图确保时间戳也可以像广告一样工作,所以我在我的代码签名证书过期日期之后将我的PC日期移至2012年。

这应该不会有任何区别,但是当我运行相同的安装程序exe我现在得到相同的讨厌的“未知的发布者”警告。

在数字签名选项卡中查看exe的属性我可以肯定地看到时间戳显示今天(2010),但这似乎没有任何帮助。

谷歌搜索除了如果你看到日期在时间戳字段,然后一切正常。我无法相信这一点,我的个人电脑与先进的日期抱怨说,它不是好的。

有谁知道这个时间戳概念是否可以工作,以及如何确保我正确地签署可执行文件?

谢谢。

+1

“rem”似乎有正确的答案。您可以在http://download.microsoft.com/download/9/c/5/9c5b2167-8017-4bae-9fde-d599bac8184a/Authenticode_PE.docx中阅读有关“生命周期签名语义”的更多信息。 – user200783 2010-02-15 23:41:32

+0

注意Mark Berry对rem的回答的评论。它显然取决于您对StartSSL是否支持时间戳的验证级别。 – MZB 2013-08-21 15:29:38

回答

2

根据Comodo's Instant SSL FAQ的说法,我没有对您的答案,但看起来您不应该看到您的行为。

是时间戳代码 代码签名证书 到期后是否有效?
时间戳确保 当 证书到期时代码不会过期。如果您的代码为 时间戳,则数字签名为 有效,即使证书已过期 也是如此。如果您想签署 附加代码,则新证书仅需要 。如果您在 签名期间未使用 时间戳选项,则必须重新签署代码 并将其重新发送给您的客户。

科莫多似乎对这个问题具有权威性,所以我倾向于相信他们说什么。

我很着急等待自己的答案,因为我非常想从StartSSL自己购买代码签名证书。我在他们的网站上注意到,代码证书是'测试版',所以也许这是他们需要解决的问题。

+0

同样适用于StartSSL - 我认为OP应该与他们的客户支持交谈,看看他们有什么要说的。 – 2010-02-06 23:12:47

0

“签名时间”和“冲压签名者”的时间戳之间存在差异。签名时间是您实际签署代码的时间,时间戳来自“加盖签名者”(证书服务器)。

使用证书颁发者时间戳签名实际上会确保您的签名仍然有效,即使您的证书已过期。

+0

Windows是否会说证书已过期(这对用户看起来很糟糕),还是Windows会恢复为通常会得到的标准“未知发布者”警告? – 2013-06-27 15:15:41

8

由StartSSL颁发的代码签名证书包含增强型密钥使用(EKU)属性“生命周期签名”(1.3.6.1.4.1.311.10.3。13),这会导致文件签名在证书过期时失效,而不管任何时间戳。

+2

根据[此帖子](https://forum.startcom.org/viewtopic.php?f=15&t=2464)在官方StartCom论坛中提到[此对比图表](https://www.startssl。 com /?app = 40),“扩展验证级别的代码签名证书支持时间戳。”所以听起来如果你购买了他们最高级别的验证(这仍然相对便宜),这个问题就消失了。有道理的是,他们希望对不会过期的证书提供更高的验证级别。警告:我自己没有测试过。 – 2012-06-21 06:13:30

+2

另请注意,“[StartSSL™扩展验证证书目前仅限于公司,商业实体,政府实体和其他合法组织机构](https://www.startssl.com/?app=30)” - 它们不可用为个人开发者。 – 2014-11-30 08:14:39

+0

它看起来像startcom/startssl最近改变了这一点。我有一个旧的证书(现在已过期),它具有这个属性,但是我几天前买了一个新证书,但没有证书!在StartCom的论坛上也有一篇帖子说这个。 – 2016-11-01 11:21:25

相关问题