Java 向jar文件添加签名会阻止加载该文件

Java 向jar文件添加签名会阻止加载该文件,java,jar,code-signing,signing,jar-signing,Java,Jar,Code Signing,Signing,Jar Signing,我遇到的问题是,在一个.jar文件中添加第二个签名会与只有其中一个签名的代码相结合而产生问题 背景:我们有一个使用过期证书签名的。它有一个启动程序,可以通过下载.jar文件的新版本并将它们放在现有文件前面的类路径中来更新自己 我们获得了一个新的证书,并用两个密钥签署了新的启动程序和更新。不幸的是,旧的应用程序现在拒绝启动: 初学者(使用旧证书签名)构建类路径 然后,它从一个类(“Stendhal”)jar调用一个方法,该类使用两个证书进行签名 此方法从仅使用旧证书签名的jar加载类(“LogU

我遇到的问题是,在一个.jar文件中添加第二个签名会与只有其中一个签名的代码相结合而产生问题

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

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

  • 初学者(使用旧证书签名)构建类路径
  • 然后,它从一个类(“Stendhal”)jar调用一个方法,该类使用两个证书进行签名
  • 此方法从仅使用旧证书签名的jar加载类(“LogUncaughtExceptionHandler”)

SecurityException:class“games.stendhal.client.LogUncaughtExceptionHandler”的签名者信息与同一软件包中其他类的签名者信息不匹配

您是否可以安排下载带有
LogUncaughtExceptionHandler
的jar的新版本,也使用新证书签名?如果没有,我认为您无法找到解决此问题的合适方法。

我们找到的唯一解决方案是删除原始签名并使用新签名。