2010-05-07 55 views
0

簽訂後的jar保存罐子,我們可以使用檢索罐子公鑰如何使防止公共密鑰內使用Java代碼

Certificate[] cert = jarentry.getCertificates(); 

一旦證書被提取,我們可以將此保存到一個新的密鑰庫作爲可信的證書。

完成此操作後,第二個用戶可以使用此證書籤署任何jar,是不是?

我想將內容分配爲jar,內容將包含應用程序init的屬性文件。

我想確保用戶無法使用他從jarentry中提取的證書重建屬性文件。

在讀取jar內容的代碼中,我檢查jar是否僅使用我的證書籤名,並且還檢查jar是否未被篡改。

但我想到的問題是,如果我能夠從jar中提取證書,那麼爲什麼不第三個人呢?

任何幫助?

回答

1

一旦這樣做,然後第二個用戶可以使用此證書籤署任何罐子,不是嗎?

不,您需要私鑰密鑰才能簽署JAR。你不能用公鑰來簽署JAR。當然,私鑰不在證書中。

請參閱Sun的Java教程中的Signing and Verifying JAR Files,它解釋了原理以及如何詳細說明。

+0

是啊:),謝謝jesper,我試着用證書籤名,但沒有成功。你需要一個私鑰來簽署jar ......... – 2010-05-07 11:50:20