2010-07-24 5 views
1

Je rencontre le problème que l'ajout d'une deuxième signature à un fichier .jar provoque des problèmes en combinaison avec le code qui n'en a qu'un. Contexte: Un certificat application est signé avec un certificat expiré. Il a un démarreur qui peut se mettre à jour en téléchargeant de nouvelles versions des fichiers .jar et en les plaçant en face des fichiers existants sur le classpath.Ajout de la signature au fichier jar empêche son chargement

Nous avons obtenu un nouveau certificat et signé le nouveau démarreur et les mises à jour avec les deux clés. Malheureusement, les anciennes applications refusent maintenant de démarrer:

  • le démarreur (signé avec l'ancien cert) construit le classpath.
  • il appelle une méthode à partir d'un pot de classe (« Stendhal ») qui est signé avec les deux certs
  • cette méthode charge une classe (« LogUncaughtExceptionHandler ») d'un pot qui est seulement signé avec l'ancien cert.

SecurityException: classe « games.stendhal.client.LogUncaughtExceptionHandler » l 'information du signataire ne correspond pas à l'information signataire d'autres classes dans le même package

+2

La seule solution que nous avons trouvée est de supprimer la signature originale et de signer avec la nouvelle. – jackrabbit

Répondre

0

Pourriez-vous organiser de ne pas télécharger aussi une nouvelle version du jar avec LogUncaughtExceptionHandler, également signé avec le nouveau cert? Sinon, je ne pense pas que vous allez trouver une solution appropriée à ce problème.

Questions connexes