2009-01-12 17 views
5

Java 1.5增加了一個enhancement來支持簽名時間戳。據我所知,這個想法是,簽名的jar文件不應該因爲代碼簽名證書已過期而失效,只要文件在證書有效時簽名。理論上,這意味着我們不必在證書到期時每年重新簽署和重新部署我們的應用程序。不幸的是,似乎是在實施中的問題,基於這兩個論壇主題:有沒有人成功使用java applet中的簽名時間戳?

http://forums.sun.com/thread.jspa?threadID=744677
http://forums.sun.com/thread.jspa?threadID=5309004

我即將開始測試,但我想知道是否有人已經成功地做到了這一點, 沒有必須在客戶端導入時間戳證書(這將打敗整個目的)?

回答

4

Thawte TSA根證書在6u10和5.0u18中添加到Sun的JRE cacerts文件中。

4

不幸的是,此功能目前似乎完全沒有價值。這是很容易簽署JAR文件時添加時間戳,眼前這個參數添加到jarsigner命令:

-tsa https://timestamp.geotrust.com/tsa 

這是URL到Thawte的時間戳服務器。不幸的是,Thawte時間戳CA證書不包含在Java運行時的可信CA證書列表中,因此它是毫無意義的。也就是說,如果您在代碼簽名證書過期後加載小程序,則會出現「不可信」警告對話框而不是「可信」警告對話框。

有一種「變通方法」,排序爲here,但它通過將Thawte時間戳CA證書嵌入到applet本身中,並在客戶端上運行keytool以導入證書。我看不出這會如何工作,因爲用戶在代碼運行之前已經看到了已簽名的代碼對話框。

我會繼續尋找解決方案,但我不會抱有希望。我無法想象爲什麼可用的時間戳CA證書還沒有被包含在Java運行時間之後。

+0

傑森, 你應該文件中BugParade一個RFE,類似於http://bugs.sun.com/view_bug.do?bug_id=4212494 除非你做到這一點,Sun將不會解決這個問題。 – Gili 2009-01-15 04:23:40

相關問題