Para ejecutar un programa java que utilice SSL

Para ejecutar un programa java que utilice SSL es necesario tener instalado el certificado del servidor al cual nos estamos conectando en el almacen de claves (o certificados) conocido como keystore.

 

El keystore es normalmente un archivo y puede ser del usuario, ubicado por defecto en ~/.keystore o el del sistema /usr/lib/jvm/java-7-oracle/jre/lib/security/cacerts.

 

Por defecto la clave del keystore del sistema es changeit.

 

Si se te olvida la clave del keystore local, no queda más que borrar el archivo, e importar de nuevo los certificados en que deseamos confiar.

 

Como es normal, java utiliza el keystore del usuario como primera opción.

 

Para agregar un certificado a un keystore es necesario primero que nada conseguir el certificado en algun formato, en nuestro caso entramos al sitio https con firefox, y le dijimos que confiabamos en el servidor y que lo agregara permanentemente. Esto permite luego exportar el certificado del sitio a un archivo con extensión pem, usando la secuencia:

 

Editar > Preferencias > Avanzado > Ver Certificado > Pestaña Servidores.

 

Ahí ubicamos el certificado que nos interesa y le damos doble click.

 

Ya en el certificado vamos a la Pestaña Detalles y damos click al final en el botón Exportar. Lo guardamos en el sistema, y luego usamos el keytool de la siguiente forma:

 

keytool -importcert -file mi-certificado.pem

 

Luego de intentar varias veces, nos dimos cuenta que la aplicación que estamos construyendo en zimbra usando apache commons, sólo utiliza el keystore del sistema, por tanto los comandos quedan así:

 

sudo keytool -importcert -file gondor.welinux.cl.pem -alias gondor.welinux.cl -keystore /usr/lib/jvm/java-7-oracle/jre/lib/security/cacerts

 

 

 

 

Agregar un comentario

Su dirección de correo no se hará público. Los campos requeridos están marcados *