мы можем подать в отставку уже подписанные банки в Java? - PullRequest
18 голосов
/ 29 января 2010

У меня есть .jar файл со старой подписью, и я хочу оставить его с новой подписью. Является ли это возможным?

Если это возможно: как это сделать?

Ответы [ 3 ]

15 голосов
/ 29 января 2010

Если ваша подпись не та, что вам нужна, вам сначала нужно распаковать банку.

Примерно так (предположим, unix, в противном случае перевести на dos):

jar xvf JarName.jar

rm -rf META-INF

jar cvf JarName.jar *

Теперь вам нужно запустить jarsigner, чтобы подписать банку

jarsigner -keystore /yourkeystoredirectory/mystore -storepass yourpass
      -keypass yourkeypasswd JarName.jar keyname

Если у вас нет хранилища ключей, вы можете создать его с помощью keytool.

1 голос
/ 19 января 2017

Я нашел лучшее решение на https://www.chemaxon.com/forum/viewpost35555.html#35555

  1. Удалите файлы с расширением .SF или .RSA из папки META-INF внутри jar.
  2. Удалить контрольные суммы подписи из META-INF / MANIFEST.MF: каждое поле «Имя» и «SHA1-Digest» должно быть удалено из META-INF / MANIFEST.MF.

Более подробную документацию можно найти в документации оракула: https://docs.oracle.com/javase/8/docs/technotes/guides/jar/jar.html#Signed_JAR_File (например, в папке META-INF могут быть файлы ".DSA" и файлы, начинающиеся с "SIG-")

1 голос
/ 29 января 2010

Вы можете извлечь файлы классов и повторно скопировать их с вашей подписью

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...