Cómo generar un .pem
certificado de CA y un certificado de cliente a partir de un archivo PFX usando OpenSSL.
Puede utilizar la herramienta de línea de comandos 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 con contraseña, etc., existen opciones adicionales.
Puedes leer toda la documentación aquí .
Otra perspectiva para hacerlo en Linux ... aquí está cómo hacerlo para que el archivo único resultante contenga la clave privada descifrada para que algo como HAProxy pueda usarlo sin pedirle una contraseña.
openssl pkcs12 -in file.pfx -out file.pem -nodes
Luego puede configurar HAProxy para usar el archivo file.pem.
Esta es una EDICIÓN de la versión anterior en la que tuve estos múltiples pasos hasta que me di cuenta de que la opción -nodes simplemente omite el cifrado de 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
Luego, puede configurar HAProxy para usar el archivo file.combo.pem.
La razón por la que necesita 2 pasos separados en los que 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 como HAProxy todavía le pide que escriba la frase de contraseña cuando lo usa.
A pesar de que las otras respuestas son correctas y están explicadas a fondo, encontré algunas dificultades para entenderlas. Aquí está el método que utilicé ( tomado de aquí ):
Primer caso: para convertir un archivo PFX en un archivo PEM que contenga tanto el certificado como la clave privada:
Segundo caso: para convertir un archivo PFX en archivos PEM de clave pública y privada separados:
Extrae la clave privada de un PFX a un archivo PEM:
Exporta el certificado (solo incluye la clave pública):
Elimina la contraseña (paráfrasis) de la clave privada extraída (opcional):
fuente