domingo, 16 de diciembre de 2018

Instalar SSL en Tomcat 7 facil con .pfx o .p12

Holas, una manera fácil de activar https o SSL en tomcat con un certificado digital ya emitido. Pasos para Centos 6 y Tomcat 7.

1. Generamos el archivo pfx o p12 si no lo tuviéramos. Se debe tener el .cer el .key y el .cer de la Autoridad Certificadora:

openssl pkcs12 -export -in micertificado.crt -inkey miclaveprivada.key -out mipkcs12.p12 -name tomcat -CAfile certificadodeca.crt -caname root -chain

Te va a pedir la clave privada, la colocas dos veces y ya.
Esto genera un archivo mipkcs12.p12

*Actualizacion: Si al usar el comando anterior te da el error "Error unable to get issuer certificate getting chain.", entonces debes hacer lo siguiente (al menos en Centos 6 fue asi):

cat certificadodeca.crt /etc/ssl/certs/ca-bundle.crt > allcacerts.crt

eso te genera un nuevo archivo allcacerts.crt, usas este archivo como el certificado de la  Autoridad Certificadora, asi que el comando a ejecutar ahora seria como sigue:

openssl pkcs12 -export -in micertificado.crt -inkey miclaveprivada.key -out mipkcs12.p12 -name tomcat -CAfile allcacerts.crt -caname root -chain

listo!! ahora si.. a poner clave y te genera el .p12


2. Modificamos el archivo server.xml de Tomcat 7 y agregamos el siguiente conector:

          port="8443" minProcessors="5" maxProcessors="75"
          enableLookups="true" disableUploadTimeout="true"
          acceptCount="100"  maxThreads="200"
          scheme="https" secure="true" SSLEnabled="true"
          keystoreFile="mipkcs12.p12"
          keystorePass="tuclaveprivada"
          keystoreType="PKCS12" />

En el parámetro keystoreFile="mipkcs12.p12" deben poner la ruta completa donde esta ubicado su archivo.
No estoy muy seguro de estos dos parámetros minProcessors="5" maxProcessors="75", pero funciona. Guardas, reinicias Tomcat y listo.. ya tienes tomcat en puerto 8443 con tu certificado.
Bytes


Referencias:
https://www.tbs-certificates.co.uk/FAQ/en/118.html
https://tomcat.apache.org/tomcat-7.0-doc/ssl-howto.html#Prepare_the_Certificate_Keystore

https://superuser.com/questions/1142555/openssl-p12-generation-failing-with-ca-bundle-chain-option