Installing SSL on Tomcat




Como instalar o renovar un Certificado SSL en Tomcat ?


Como programador me encanta programar, por lo que cuando me tocan tareas para realizar en el servidor, como instalar o renovar certificados SSL, es cuando necesito tener un buen tutorial para no equivocarme, es por esto que luego de leer muchos por la red, hice mi propio tutorial el cual quiero compartir con uds; espero que les sea de mucha utilidad como lo es para mí cuando quiero renovar los SSL de mis aplicaciones.

Como primer paso es comprar el certificado a alguna organización, en mi caso lo compré en NameCheap.

Paso 1 : Generar el keystore. Ir a la línea de comandos y ejecutar la siguiente línea.

En la siguiente línea de comandos reemplazamos los siguientes valores:

 -keystore mykeystore2022.jks ← Asignamos un nombre al keyStore

CN=misitio.com  ← Ingresamos la dirección de nuestro sitio web

O=miOrgamizacion, L=cordoba, ST=cordoba, C=AR, Street=av Colon 500"

Ingresamos en la línea de arriba, el nombre de la organización, la localización, país y dirección.

keytool -genkey -keysize 2048 -keyalg RSA -alias tomcat -keystore mykeystore2022.jks -dname "CN=misitio.com, O=miOrgamizacion, L=cordoba, ST=cordoba, C=AR, Street=av Colon500"

Enter the password: mysecrepassword

If you see the following message …

Warning:

The JKS keystore uses a proprietary format. It is recommended to migrate to PKCS12 which is an industry standard format using "keytool -importkeystore -srckeystore mykeystore2022.jks -destkeystore mykeystore2022.jks -deststoretype pkcs12".

Run the commmand:

keytool -importkeystore -srckeystore mykeystore2022.jks -destkeystore mykeystore2022.jks -deststoretype pkcs12

Paso 2 Generar el Certificado CSR

keytool -certreq -keyalg RSA -alias tomcat -file digiplexcertreq2022.csr -keystore mykeystore2022.jks

Paso 2.1 una vez generado el certificado 

Seguir los pasos de la página de https://www.namecheap.com/

Una vez que se compró el certificado en la consola se pasa a <Activar>


    Pegamos el CSR que generamos en el paso anterior.

Abrimos el CSR que generamos en el paso anterior, copiamos y pegamos en “Enter CSR”

Donde dice primary domain: se completará con el dominio que se ingresa al momento de crearlo.


Hacemos clic en Next


Seleccionamos el método de validación del Certificado.



Si elegimos el método de archivo, hay que subir el txt que nos provee Namecheap al servidor

Confirmamos nuestro email y método y presionamos en Submit

El trámite queda en estado PENDING

Esperar .. luego ir a Dashboard y bajar el txt


    Una vez que el Certificado este listo, procedemos a Bajar el archivo txt y subirlo     al servidor a la carpeta (imagen abajo)

    /var/www/html/.well-known/pki-validation




Ahora esperamos ......

Una vez que se haya realizado la verificacion te llega el mail de confirmación y Emisión del mismo.


En el dashboard se buscá la opción SSL certificates … se presiona en Download y se baja un zip con:


Una vez que este sea confirmado, se podrá bajar el certificado CRT o CE para poder

ser instalado en el servidor.


    Paso 3: Importar el certificado 

Opcion 1

keytool -import -trustcacerts -alias tomcat -file my-appstore_online.cer -keystore mykeystore2022.jks


Opcion 2

keytool -import -trustcacerts -alias tomcat -file my-appstore_online.crt -keystore mykeystore2022.jks  or my-appstore_online.p7b 

        Running the command

keytool -import -trustcacerts -alias tomcat -file my-appstore_online.p7b -keystore mykeystore2022.jks


En la ventana de comando ejecutar en el mismo directorio en este caso: /tomcat-9xx/conf/


Paso 4 Modificar el server.xml

Ingresamos los datos tal como lo muestra el código de abajo con la nueva key y pasamos a reiniciar el servidor


  <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" scheme="https" 

               maxThreads="150" SSLEnabled="true"

compression="on" secure ="true"

keystoreFile="conf/mykeystore2022.jks"

                keystorePass="mypasswordkey"

SSLVerifyClient="none" SSLProtocol="TLSv1.2"/>


 You must restart Tomcat as you normally do.



**************************************************************

Last …. changes .. Firewall changes …


firewall-cmd --add-port=8443/tcp

firewall-cmd --add-port=8443/tcp --permanent


Conclusión

Instalar un certificado SSL no es tan difícil de instalar, solo hay que tener paciencia y seguir los pasos. Espero que les resulte muy útil.




Comentarios