我刚刚从 StartSSL 获得了我的代码签名证书,并且正在尝试对我们的安装程序进行签名。
签名过程进行得很顺利,我得到了一个安装程序 exe,Windows 不再提示来自未知发布者。这很棒!
然而,我试图确保时间戳也能像宣传的那样工作,所以我将我的 PC 日期移到了 2012 年,在我的代码签名证书到期日期之后。
这应该没有任何区别,但是当我运行相同的安装程序 exe 时,我现在收到同样令人讨厌的“未知发布者”警告。
查看“数字签名”选项卡中 exe 的属性,我绝对可以看到时间戳显示为今天(2010 年),但这似乎根本没有帮助。
谷歌搜索没有给我任何东西,只是如果你在时间戳字段中看到日期,那么一切都很好。我无法相信这一点,我的具有高级日期的 PC 提示它不正常。
有谁知道这个时间戳概念是否有效,以及如何确保我正确签署了可执行文件?
谢谢。
最佳答案
StartSSL 颁发的代码签名证书包含增强型 key 使用 (EKU) 属性“Lifetime Signing”(1.3.6.1.4.1.311.10.3.13),这会导致文件签名在证书过期时过期,而不管任何时间戳。
关于code-signing - 如何验证签名代码的时间戳是否正确完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2213784/