2010-02-06 124 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

相關問題