SSLmentor

Certificados TLS/SSL de calidad para sitios web y proyectos en Internet.

OpenSSL

OpenSSL

Exportar certificado a PFX

Instrucciones para exportar la clave privada, el certificado, incluidos los certificados intermedios de la autoridad de certificación, del formato PEM (X.509) al formato PFX, que es adecuado para la instalación en un servidor Windows con IIS (Servidor de Información de Internet).

Exportación usando OpenSSL

Para trabajar con certificados, necesitas tener instalada la biblioteca OpenSSL. Consulta la página OpenSSL para Windows y Mac OSX para obtener instrucciones y enlaces de descarga.

Preparación del certificado

Necesitaremos archivos de certificado y clave privada para la exportación. Guarda todo en 3 archivos: clave privada (.key), clave pública (.pem) y un archivo estará con claves intermedias de CA (.pem). Para la exportación, no importa si los archivos tienen la extensión .PEM o .TXT y la designación depende de tu elección. En términos de orientación, la clave privada debe tener el nombre .KEY.

  • archivo de clave privada (guardado durante la generación en el Panel de Control o OpenSSL)
  • archivo de certificado de una autoridad de certificación (clave pública certificada)
  • archivo con certificados intermedios de la autoridad de certificación

Los archivos contienen certificados en formato PEM. Las claves comienzan y terminan en -----BEGIN CERTIFICATE----- a -----END CERTIFICATE-----, la clave privada en -----BEGIN PRIVATE KEY----- a -----END PRIVATE KEY-----.

Exportar de PEM a PFX (PKCS#12)

Para la exportación en OpenSSL, usaremos el comando pkcs12 con los parámetros establecidos:

openssl pkcs12 -export -out cert.pfx -inkey private.key -in cert.pem -certfile cabundle.pem

O, por ejemplo, si tenemos archivos de clave en formato TXT:

pkcs12 -export -out cert.pfx -inkey key.txt -in cert.txt -certfile cabundle.txt

Después de ejecutarlo, se te pedirá que ingreses una contraseña + confirmación (mín. 4 caracteres), luego el certificado se exportará al archivo cert.pfx.
Si los archivos no están ubicados en el directorio en uso, debes especificar una ruta. Los archivos de certificado también pueden tener una extensión .txt, como se muestra en la figura.

OpenSSL - exportar certificado a PFX

Comprobar el archivo de clave .pfx

Después de exportar, recomendamos verificar el archivo .pfx para ver si todos los certificados se han insertado correctamente.

openssl pkcs12 -info -nodes -in cert.pfx

Posibles errores de exportación

Error opening input file key/cert.txt
 key/cert.txt: No such file or directory

Verifica la ruta y los nombres de archivo de las claves.

Unable to load certificate
Verifica el formato PEM correcto del certificado y el contenido que comienza con -----BEGIN CERTIFICATE-----.

Trabajar con claves en PFX

Para exportar una clave privada encriptada desde .pfx, usa el comando: openssl pkcs12 -in cert.pfx -nocerts -out key-crypt.key
La contraseña para la encriptación debe tener al menos 4 caracteres.

Desencriptación de la clave privada: openssl rsa -in key-crypt.key -out key.key

Exportar certificado (clave pública) a formato .crt: openssl pkcs12 -in cert.pfx -clcerts -nokeys -out cert.crt

Exportación de certificado a PFX sin clave privada

Exportación de certificado a PFX sin clave privada: openssl pkcs12 -export -out cert.pfx -nokeys -in certificate.pem

Exportación de certificado a PFX sin clave privada con certificados intermedios de CA: openssl pkcs12 -export -out cert.pfx -nokeys -in certificate.pem -certfile cabundle.pem

Conversión de certificado entre diferentes formatos

Con OpenSSL, se pueden realizar diversas conversiones entre formatos mediante los siguientes comandos.

Convertir PEM → DER
openssl> x509 -outform der -in certificate.pem -out certificate.der
Convertir PEM → P7B
openssl> crl2pkcs7 -nocrl -certfile certificate.pem -out certificate.p7b -certfile cacert.pem
Convertir DER → PEM
openssl> x509 -inform der -in certificate.cer -out certificate.pem
Convertir P7B → PEM
openssl> pkcs7 -print_certs -in certificate.p7b -out certificate.pem
Convertir P7B → PFX
openssl> pkcs7 -print_certs -in certificate.p7b -out certificate.pem
openssl> pkcs12 -export -in certificate.pem -inkey privateKey.key -out certificate.pfx -certfile cacert.pem
Convertir PFX → PEM
openssl> pkcs12 -in certificate.pfx -out certificate.pem -nodes

Volver a Ayuda
¿Encontraste un error o no entiendes algo? ¡Escríbenos!

CA Sectigo
CA RapidSSL
CA Thawte
CA GeoTrust
CA DigiCert
CA Certum