Cómo convertir un certificado SSL de formato PFX a PEM

El formato PFX es un formato binario que debe contener tanto el certificado del dominio y el certificado intermedio como la propia clave privada, y están protegidos (o deberían) con contraseña. Este formato es el utilizado por el servidor web de Microsoft IIS.

Y el formato PEM es el utilizado en servidores como Apache o Nginx, que es un fichero de texto que contiene unas cuantas líneas de caracteres entre las típicas marcas

-----BEGIN CERTIFICATE-----

<aquí va el certificado>

-----END CERTIFICATE-----

Si tenemos un certificado en formato PFX podemos convertirlo a PEM así:

$ openssl pkcs12 -in certfile.pfx -out bundle.txt -nodes
Enter Import Password:
$

El fichero «bundle.txt» generado es un fichero de texto que contendrá en formato PEM tanto el certificado SSL del dominio y el certificado intermedio, como la clave privada.

A partir de aquí sólo habría que generar los ficheros de clave privada y el bundle con el crt del dominio y el intermedio, y configurarlos en el Apache o en el Nginx.