Convirtiendo pfx a pem usando openssl

Tengo el archivo client_ssl.pfx generado desde X509 Certificate Generator .

¿Cómo obtener root.pem y client_ssl.pem desde client_ssl.pfx usando openssl ?

    Puede usar la herramienta de línea de comandos de OpenSSL. Los siguientes comandos deberían hacer el truco

    openssl pkcs12 -in client_ssl.pfx -out client_ssl.pem -clcerts openssl pkcs12 -in client_ssl.pfx -out root.pem -cacerts 

    Si desea que su archivo esté protegido por contraseña, etc., hay opciones adicionales.

    Puede leer toda la documentación aquí .

    Otra perspectiva para hacerlo en Linux … aquí es cómo hacerlo para que el único archivo resultante contenga la clave privada descifrada para que algo como HAProxy pueda usarlo sin solicitar una frase de contraseña.

     openssl pkcs12 -in file.pfx -out file.pem -nodes 

    Luego puede configurar HAProxy para usar el archivo file.pem.


    Esta es una EDIT de la versión anterior donde tuve estos múltiples pasos hasta que me di cuenta de que la opción -nodes simplemente pasa por alto el cifrado de la clave privada. Pero lo dejo aquí, ya que puede ayudar con la enseñanza.

     openssl pkcs12 -in file.pfx -out file.nokey.pem -nokeys openssl pkcs12 -in file.pfx -out file.withkey.pem openssl rsa -in file.withkey.pem -out file.key cat file.nokey.pem file.key > file.combo.pem 
    1. El primer paso le solicita la contraseña para abrir el PFX.
    2. El segundo paso le solicita esa ventaja y también crea una frase de contraseña para la clave.
    3. El tercer paso le solicita que ingrese la frase de contraseña que acaba de crear para almacenar descifrado.
    4. El 4 lo junta todo en 1 archivo.

    Luego puede configurar HAProxy para usar el archivo file.combo.pem.

    La razón por la que necesita 2 pasos separados donde indica un archivo con la clave y otro sin la clave, es porque si tiene un archivo que tiene la clave cifrada y descifrada, algo así como HAProxy todavía le pide que escriba la frase de contraseña cuando lo usa.