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

sábado, 20 de octubre de 2018

Dividir un archivo y volverlo a unir

Holas.. algo muy super practico es la utilidad split para dividir un archivo en partes mas pequeñas y luego volver a unirlos con cat.

Los comandos implicados entonces son split y cat.
Haré el ejemplo comprimiendo primero un archivo de backup plano muy grande de una pase de datos con gzip.

Comprimir el archivo dump

gzip midb.dump.out

Dividir el archivo comprimido gz en partes de 50 Megas:

split -b 50M midb.dump.out.gz midb.dump.out.gz_part_

Unir el archivo

cat midb.dump.out.gz_part_* > midb.dump.out.gz

Y si quieren volver a descomprimir:

gzip -d midb.dump.out.gz

Listo, ya es decisión suya que hacer con los archivos pequeños.. backups.. transmisiones.. etc etc.

Bytes