Saltar la navegación

3.3.- Firmando ficheros Jar.

Los ficheros JAR (ARchive of Java) contienen componentes de Java (como archivos de clase) y, opcionalmente, recursos de soporte (como imágenes o sonidos).

Como hemos visto antes, las políticas de seguridad se pueden especificar por su ubicación o por la persona que firma el fichero jar. A continuación, vamos a aprender a crear un fichero jar y firmarlo digitalmente para, más adelante, establecer correctamente sus políticas de acceso.

Los pasos que debemos realizar son:

  • Descarga el siguiente código fuente o utiliza cualquier otro código que estimes conveniente.

    Descargar código fuente GetProps.java

  • Compila el código fuente:
    javac GetProps.java
  • Crea el fichero jar ejecutando:
    jar cvf GetProps.jar GetProps.class
  • Genera las claves. A continuación vamos a crear un par de claves (una clave privada y una clave pública) para firmar el fichero. La clave privada la vamos a utilizar para firmar el fichero y la clave pública la van a utilizar los demás usuarios para comprobar que el fichero es correcto. En la siguiente unidad aprenderás muchos más conceptos relacionados con la criptografía en java.

    Para generar las claves ejecutamos:

    keytool –genkey –alias firmar –keypass hola00 –keystore DAM –storepass distancia

    donde:

    • -alias firmar. Indica el alias que se va a utilizar para referirnos al keystore, que es donde se van almacenar las llaves generadas.
    • -keypass hola00. Especifica la contraseña de la llave privada.
    • -keystore DAM. Indica el nombre del keystore que se esta creando o utilizando.
    • -storepass distancia. Indica el password del keystore.

    A continuación, tal y como se puedes ver en la siguiente figura, hay que introducir los datos del certificado: nombre, organización, localidad, etc.

    Captura de pantalla que muestra el proceso de generación de un certificado de seguridad.

     

  • Finalmente, firmados el fichero jar utilizando el certificado creado
    jarsigner –keystore DAM –signedjar sGetProps.jar GetProps.jar firmar

    donde:

  • -keystore DAM. Es el keystore creado anteriormente.
  • -signedjar sGetPrrops.jar. Indica el fichero jar firmado.
  • GetProps.jar Es el fichero jar a firmar.
  • firmar. Es el alias que se ha creado anteriormente.
    Captura de pantalla que muestra el resultado de la ejecución de jarsigner para firmar un fichero jar.
  • Exportamos la llave pública del certificado ejecutando:
    keytool –export –keystore DAM –alias firmar –file Javier.cert

Ahora ya tenemos todos los archivos necesarios para enviarlos a los diferentes clientes que quieran utilizar nuestra aplicación: el fichero jar firmado (sGetProps.jar) y el certificado (Javier.cert).

Para saber más

Si deseas conocer el funcionamiento de los certificados de seguridad, consulta el siguiente enlace:

Certificado digital.