12

我刚刚从 StartSSL 获得了我的代码签名证书,并且正在尝试签署我们的安装程序。

签名过程顺利,我得到了一个安装程序 exe,Windows 不再抱怨来自未知发布者。这很棒!

然而,我试图确保时间戳也像宣传的那样工作,所以我将我的 PC 日期移到了 2012 年,在我的代码签名证书到期日期之后。

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

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

谷歌搜索没有给我任何东西,只是如果你在时间戳字段中看到日期,那么一切都很好。我无法相信这一点,我的电脑带有先进的日期抱怨它不好。

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

谢谢。

4

3 回答 3

8

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

于 2010-02-08T05:58:12.267 回答
2

抱歉,我没有给你答案,但根据Comodo 的 Instant SSL FAQ,看起来你不应该看到你的行为。

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

Comodo 似乎在这个问题上是权威的,所以我倾向于相信他们所说的话。

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

于 2010-02-06T21:30:38.420 回答
0

“Signing Time”和“Stamping Signer”的时间戳之间存在差异。签名时间是您实际签署代码的时间,时间戳来自“stamping signer”(证书服务器)。

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

于 2010-02-07T02:16:20.997 回答