En esta entrada vamos a Firmar .jar desde Windows con Batch
El script descomprime el fichero jar, y después firma el fichero jar , todo lo que quieras añadir al fichero tienes que incluirlo (opcionalmente) en la carpeta nuevo.
Tienes que bajar el código e incluirlo en un fichero .bat , algo así: nombre.bat
Basicamente estas son las cosas que tienes que tener en cuenta:
- Debe existir el fichero xxxxxx.jar
- Debe existir el fichero Manifest.txt
- En la variable PATH tiene que encontrar javasigner y keytool
- Generara el fichero log.txt (verificar firma)
- El fichero xxxxx.jar se renombrara a old_xxxxx.jar
- (Opcional) Incluir ficheros nuevos dentro de la carpeta -nuevo-
Este sería el codigo para Firmar .jar
@echo OFF ECHO ************************************************************************** ECHO * * ECHO * CREACION Y FIRMA DE FICHEROS .JAR * ECHO * * ECHO ************************************************************************** ECHO * * ECHO * Debe existir el fichero xxxxxx.jar * ECHO * Debe existir el fichero Manifest.txt * ECHO * En la variable PATH tiene que encontrar javasigner y keytool * ECHO * Generara el fichero log.txt (verificar firma) * ECHO * El fichero xxxxx.jar se renombrara a old_xxxxx.jar * ECHO * (Opcional) Incluir ficheros nuevos dentro de la carpeta -nuevo- * ECHO * * ECHO ************************************************************************** ECHO * ECHO * set /p Nombre=Nombre del fichero .jar SIN EXTENSION: echo Este es el jar que se va a firmar: %Nombre%.jar @echo ON SET PATH=%PATH%;\jdk\bin; > log.txt rmdir /Q /S temp mkdir temp unzip %Nombre%.jar -d ./temp MOVE /y %Nombre%.jar old_%Nombre%.jar cd temp xcopy ..\nuevo\* ..\temp\* /s /e /i /Y jar cf %Nombre%.jar *.gif oracle *.class MOVE /y %Nombre%.jar ../%Nombre%.jar cd .. rmdir /Q /S temp keytool -delete -keystore \certificados\keystore -storepass keystore_pwd -alias pjc_identity >> log.txt keytool -genkey -dname "CN=nombre, OU=organizacion unidad, O=organo, C=ES" -alias pjc_identity -keypass pjc_identity_pwd -keystore \certificados\keystore -storepass keystore_pwd -validity 1460 >> log.txt keytool -list -keystore \certificados\keystore -storepass keystore_pwd >> log.txt jar -ufm %Nombre%.jar Manifest.txt >> log.txt jarsigner -keystore \certificados\keystore -storepass keystore_pwd -keypass pjc_identity_pwd %Nombre%.jar pjc_identity >> log.txt jarsigner -verify %Nombre%.jar >> log.txt pause; |
Y listo, fácil, ¿no?