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