2010-07-24 58 views
1

我遇到的问题是,将第二个签名添加到.jar文件会导致与代码中只有其中一个签名相结合的问题。向jar文件添加签名可防止它被加载

背景:我们有一个使用过期证书签名的application。它有一个启动器,可以通过下载新版本的.jar文件并将它们放在现有文件的前面到类路径中进行更新。

我们获得了一个新证书,并用两个密钥签署了新的启动器和更新。不幸的是,旧的应用程序现在拒绝启动:

  • 启动器(使用旧证书签名)构建类路径。
  • 然后它调用从两个证书签名的类(“Stendhal”)罐子中的方法
  • 此方法从仅使用旧证书签名的jar加载类(“LogUncaughtExceptionHandler”)。

抛出:SecurityException:类“games.stendhal.client.LogUncaughtExceptionHandler”的签名信息并不在同一个包

+2

我们发现的唯一解决方案是删除原始签名并用新签名签名。 – jackrabbit 2010-07-24 12:58:45

回答

0

匹配其他类的签名者信息,你能不能安排也下载的新版本与LogUncaughtExceptionHandler,还签署了新的证书?如果没有,我认为你不会为这个问题找到合适的解决方案。