2010-07-24 42 views
1

我遇到的問題是,將第二個簽名添加到.jar文件會導致與代碼中只有其中一個簽名相結合的問題。向jar文件添加簽名可防止它被加載

背景:我們有一個使用過期證書籤名的application。它有一個啓動器,可以通過下載新版本的.jar文件並將它們放在現有文件的前面到類路徑中進行更新。

我們獲得了一個新證書,並用兩個密鑰簽署了新的啓動器和更新。不幸的是,舊的應用程序現在拒絕啓動:

  • 啓動器(使用舊證書籤名)構建類路徑。
  • 然後它調用從兩個證書籤名的類(「Stendhal」)罐子中的方法
  • 此方法從僅使用舊證書籤名的jar加載類(「LogUncaughtExceptionHandler」)。

拋出:SecurityException:類「games.stendhal.client.LogUncaughtExceptionHandler」的簽名信息並不在同一個包

+2

我們發現的唯一解決方案是刪除原始簽名並用新簽名簽名。 – jackrabbit 2010-07-24 12:58:45

回答

0

匹配其他類的簽名者信息,你能不能安排也下載的新版本與LogUncaughtExceptionHandler,還簽署了新的證書?如果沒有,我認爲你不會爲這個問題找到合適的解決方案。