INSTALACION DE SSL EN TOMCAT, JAVA, UTILIZANDO KEYSTORE

 El keytool es el equivalente OpenSSL pero más limitado en funcionalidades y exclusivamente ligado al entorno Java.

 

Ya que Keytool no cuenta con la funcionalidad de importar una clave privada preexistente de un certificado generado externamente(como es su caso ya que

La llave privada fue generada con OpenSSL). La solución a este inconveniente que quizás a primera vista no se contempla con tanta claridad y es que Java (a partir de su versión 6)

puede manejar los ficheros PKCS12 como si fuesen almacenes de claves keystores.  Con OpenSSL se puede convertir el certificado y la clave privada que se quieren importar, en un archivo PKCS12 de intercambio de información personal.

Dejando Claro la situación actual deberá:

 

PASO 1:

Comprobar que las llaves correspondan entre si, para ello dispongo el siguiente link:

https://soporteytelecom.blogspot.com/2020/01/comprobar-llaves.html

 

 

 

PASO 2:

Generar el PFX con OpenSSL(Utilizar comando dispuesto en la sección 2.1).

https://soporteytelecom.blogspot.com/search/label/EXPORTAR

 

NOTA IMPORTANTE: Un dato importante es que la contraseña que se establezca al crear el archivo PKCS12 debe ser la misma que la contraseña del keystore de Java para que Tomcat funcione correctamente

 

PASO 3:

 

Finalmente con el uso herramienta keytool, se puede importar el archivo PCKS12 generado como si de un keystore se tratase.

 

keytool -importkeystore -deststorepass [cambiar] -destkeypass [cambiar] -destkeystore servidor.keystore -srckeystore midominio.p12 -srcstoretype PKCS12 -srcstorepass [cambiar] -alias [cambiar]

 

 NOTA IMPORTANTE: EN ALGUNAS VERSIONES DE TOMCAT ESTE COMANDO GENERA UN ERROR CON EL NOMBRE DE ALIAS, LA SOLUCION SI ESTO OCURRE ES:

keytool -importkeystore -srckeystore pkcs12file.p12 -srcstoretype pkcs12 -destkeystore test.jks -deststoretype JKS

 

 

Recuerde que para configurar el servidor Tomcat sobre SSL usando el certificado correctamente importando en el almacén de certificados de Java, se debe añadir la siguiente configuración que habilitará el puerto que indiquemos para todo el tráfico HTTPS:

 

nano /opt/apache-tomcat-7.0.64/conf/server.xml

 

<Connector port="443" protocol="org.apache.coyote.http11.Http11Protocol" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="/path/to/servidor.keystore" keystorePass="contraseñaKeystore" />;

 

 

Si se reinicia Tomcat y se comprueba mediante el navegador, se puede observar que funciona correctamente

Comentarios

Entradas populares de este blog

SSL COMO GENERAR UN CSR

INSTALACIÓN DE SSL EN ZIMBRA - VIA CLI