2010-01-29 8 views

Respuesta

13

Si la firma no es uno es el propietario, que tendría que unjar el frasco primero.

Al igual que (se supone UNIX, se traducen en dos de otra manera):

jar xvf JarName.jar 

rm -rf META-INF 

jar cvf JarName.jar * 

Ahora tiene que ejecutar jarsigner para firmar el frasco

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

Si usted no tiene un almacén de claves, puede crear uno con keytool.

+3

"rm -rf META-INF" es una muy mala idea. Esto también borra archivos importantes como el directorio de servicios. – SkateScout

1

Puede extraer los archivos de clase y volver a sacudir con su firma

1

He encontrado una mejor solución en https://www.chemaxon.com/forum/viewpost35555.html#35555

  1. eliminar archivos con ".SF" o extensión ".RSA" de la carpeta META-INF dentro del tarro.
  2. Eliminar la firma de sumas de comprobación de META-INF/MANIFEST.MF: cada campo "Nombre" y "SHA1-Digest" debe eliminarse de META-INF/MANIFEST.MF.

una documentación más detallada se puede encontrar en la documentación de Oracle: https://docs.oracle.com/javase/8/docs/technotes/guides/jar/jar.html#Signed_JAR_File (por ejemplo, no puede haber archivos ".DSA" en la carpeta META-INF y archivos que comienzan con 'SIG-')

Cuestiones relacionadas