Convertir certificado PFX en CRT para Apache/Nginx

Aqui os traigo como obtener un certificado SSL con el formato PFX para utilizarlo en Apache o Nginx.
Este certificado SSL tambien es valido para IIS, por lo cual si despues de convertir el certificado podeis usarlo sin problema 🙂

Los ficheros que necesitamos generar del fichero PFX:

dominio.crt

Vamos a obtener el certificado dominio.crt ejecutando el siguiente comando:

comandoit@comandoit:~# openssl pkcs12 -in dominio.pfx -clcerts -nokeys -out dominio.crt

Si tenemos por parte del proveedor del certificado el archivo dominio.key no hace falta generarlo.

Si queremos quitar la clave del certificado, para que Apache no la pida continuamente en esta entrada te explico como hacerlo: https://comandoit.com/quitar-contrasena-al-certificado-ssl/

(En caso de tener que generarlo) Para obtener el certificado dominio.key ejecutando el siguiente comando:

comandoit@comandoit:~# openssl pkcs12 -in dominio.pfx -nocerts -out dominio.key

Una vez ya obtenidos los ficheros que necesitabamos, podemos ponerlo en su carpeta que normalmente suele server /etc/apache2/ssl o /etc/nginx/ssl.

No hay que olvidarse, que los proveedores normalmente facilitan el archivo intermediario o CA. este archivo tenéis que añadirlo en la linea SSLCertificateChainFile

Es recomendable aplicarles un chmod 400 a los ficheros obtenidos.

Ejemplo de configuración en Apache2

SSLEngine on
SSLCertificateFile /etc/apache2/ssl/dominio.crt
SSLCertificateKeyFile /etc/apache2/ssl/dominio.key
SSLCertificateChainFile /etc/apache2/ssl/certificatekf.ca

Ejemplo de configuración en Nginx

SSLEngine on
SSLCertificateFile /etc/nginx/ssl/dominio.crt
SSLCertificateKeyFile /etc/nginx/ssl/dominio.key
SSLCertificateChainFile  /etc/nginx/ssl/certificatekf.ca

Comando IT