2010-01-29 5 views

Antwort

13

Wenn die Signatur nicht ist, die Sie besitzen, müssen Sie zuerst das Glas unjar.

Wie so (nehmen Unix, übersetzen sonst dos):

jar xvf JarName.jar 

rm -rf META-INF 

jar cvf JarName.jar * 

Jetzt müssen Sie jarsigner führen Sie das Glas

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

anmelden Wenn Sie nicht über einen Schlüsselspeicher haben, kann mit keytool eins erstellen.

+3

"rm -rf META-INF" ist eine wirklich schlechte Idee. Dies löscht wichtige Dateien wie zum Beispiel das Verzeichnis services. – SkateScout

1

können Sie die Klassendateien extrahieren und wieder jar sie mit Ihrer Unterschrift

1

fand ich eine bessere Lösung auf https://www.chemaxon.com/forum/viewpost35555.html#35555

  1. Dateien entfernen mit „.SF“ oder „.RSA“ Erweiterung aus dem Ordner META-INF in dem Topf.
  2. Signaturprüfsummen von META-INF/MANIFEST.MF löschen: Die Felder "Name" und "SHA1-Digest" sollten aus META-INF/MANIFEST.MF gelöscht werden.

Eine umfassendere Dokumentation finden Sie auf der Oracle-Dokumentation: https://docs.oracle.com/javase/8/docs/technotes/guides/jar/jar.html#Signed_JAR_File (zum Beispiel kann es „.DSA“ Dateien im Ordner META-INF sein, und Dateien mit ‚SIG-‘ ab)

Verwandte Themen