Saltar al contenido
Codifíca.me | Desarrollo web | Programación

Firmar .jar desde windows con Batch

1 febrero, 2019

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-

Firmar .jar desde windows con Batch

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?

Deja una respuesta

Tu dirección de correo electrónico no será publicada.