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

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

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

<aquí va el certificado>

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

Pero para instalar el certificado en un IIS hace falta convertirlo a formato PFX, que 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 con contraseña.

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

1.- Concatenar en un solo fichero de texto el bundle formado por el certificado del dominio y el certificado intermedio, de forma que queden así:

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

<aquí va el certificado del dominio>

-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----

<aquí va el certificado intermedio>

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

2.- Ejecutar el siguiente comando y escribir la contraseña deseada para importar y exportar el certificado 2 veces:

$ openssl pkcs12 -inkey key.pem -in cert_and_intermediate.pem -export -out file.pfx
Enter Export Password:
Verifying - Enter Export Password:
$

Y ese fichero «file.pfx» es el que se puede instalar en el IIS o donde sea necesario.