SSL en cliente Java [ keytool.exe ] - Más allá de lo que ves

miércoles, 29 de abril de 2009

SSL en cliente Java [ keytool.exe ]

Voy a tratar de dar unas directrices básicas y sencillas para conseguir que en un cliente Java que se conecte por ejemplo usando HttpInvoker de Spring a un dominio que utiliza HTTPS no nos pete a la hora de hacer las peticiones remotas.

1. Obtener usando el ie o mozilla el fichero certificado de midominio.com

2. Cambiar a un keystore limpio el password con el objetivo de que luego con lo distribuyamos no este accesible con el password por defecto (que no es otro que changeit) :

...\jre\bin>keytool.exe
-storepasswd
-new nueva_clave
-keystore ruta al keystore\cacerts
-storepass changeit


3. importar en el keystore destino al que hemos cambiado el password el certificado descargado con:

...\jre\bin>keytool.exe
-importcert
-file c:\backup-evolution.crt
-alias backup-evolution
-keystore ruta al keystore\cacerts


4. En código definir la siguiente propiedad de sistema al iniciarse la aplicación:

System.setProperty("javax.net.ssl.trustStore", "ruta la keystore");

Referencias:
http://java.sun.com/javase/6/docs/technotes/tools/windows/keytool.html

1 comentario:

  1. Muy interesante.....pero no acabo de encontrarle yo la vena poética... no se.....

    ResponderEliminar