El formato PKCS #12 o PFX es un formato binario para almacenar el certificado del servidor, cualquier certificado intermedio y la clave privada en un solo archivo encriptable. Los archivos PFX generalmente se encuentran con las extensiones .pfx y .p12. Los archivos PFX se utilizan normalmente en máquinas Windows para importar y exportar certificados y claves privadas.
Requisitos:
→ | La clave privada original utilizada para el certificado. |
→ | Un archivo PEM (.pem, .crt, .cer) o PKCS #7/P7B (.p7b, .p7c |
→ | OpenSSL |
Los siguientes comandos muestran ejemplos de cómo crear un archivo .pfx/.p12 en la línea de comandos usando OpenSSL.
PEM (.pem, .crt, .cer) a PFX
openssl pkcs12 -export -out certificado.pfx -inkey privateKey.key -in certificate.crt -certfile more.crt
Entendiendo el comando:
→ | openssl – el comando para ejecutar OpenSSL |
→ | pkcs12 – la utilidad de archivo para archivos PKCS # 12 en OpenSSL |
→ | -export -out certificado.pfx – exporta y guarda el archivo PFX como certificado.pfx |
→ | -inkey privateKey.key – usa el archivo de clave privada privateKey.key como la clave privada para combinar con el certificado. |
→ | -in certificado.crt – usa certificado.crt como el certificado con el que se combinará la clave privada. |
→ | -certfile more.crt – esto es opcional, esto es si tiene certificados adicionales que le gustaría incluir en el archivo PFX. |
PKCS#7/P7B (.p7b, .p7c) a PFX
Los archivos P7B no pueden utilizarse para crear directamente un archivo PFX. Los archivos P7B deben convertirse a PEM. Una vez convertido a PEM, siga los pasos anteriores para crear un archivo PFX a partir de un archivo PEM.
openssl pkcs7 -print_certs -in certificado.p7b -out certificado.crt
Entendiendo el comando:
→ | openssl – el comando para ejecutar OpenSSL |
→ | pkcs7 – la utilidad de archivo para archivos PKCS#7 en OpenSSL |
→ | -print_certs -in certificado.p7b – imprime todos los certificados o CRL incluidos en el archivo. |
→ | -out certificado.crt – genera el archivo como certificado.crt |
Puedes ver el enlace original aquí.