Extraer el certificado público y su clave privada de un archivo PFX con OpenSSL (Windows, MacOS, Linux)

Hoy he tenido que aprender a extraer información (certificado público y su clave privada) de un un archivo PFX/PKCS#12, porque necesitaba instalar el certificado público o clave pública y su clave privada de forma individual en Filemaker Server 16.

PKCS#12 es un formato binario (si abrimos el fichero con un editor de texto plano, no vamos a entender su contenido) para almacenar una cadena de certificados y una clave privada en un único archivo cifrado.

Sabiendo esto, yo solo tengo un archivo (PFX), pero a mi me piden dos datos que se encuentran dentro de dicho archivo.

¿Cómo hacemos esto?

Nos vamos a ayudar de la herramienta de comandos OpenSSL. OpenSSL esta disponible para distintos sistemas operativos (MacOS, Linux, Windows), en MacOS ya viene instalada por lo que yo seguiré este tutorial desde mi Mac, si vas a ejecutar este comando en otro sistema operativo asegúrate de tenerlo instalado.

Comando para extraer la clave privada

Abrimos la terminal y ejecutamos el siguiente comando para extraer la llave privada del fichero PFX.

openssl pkcs12 -in Archivo.pfx -nocerts -out LlavePrivada.key

Al ejecutar el comando, nos va a pedir la contraseña del archivo PFX y luego tendremos que establecer una contraseña (pass phrase) para la llave privada.

Si leemos el certificado con el comando cat, podemos ver algo tal que así:

Comando para extraer el certificado público (CRT)

El fichero CRT es un certificado público o clave pública, teniendo el certificado PFX, generaremos dicho fichero con el siguiente comando:

openssl pkcs12 -in Archivo.pfx -clcerts -nokeys -out certificadoPublico.crt

Al ejecutar el comando nos pedirá la contraseña del archivo pfx y luego se generará el certificado público con extensión CRT.

Si vamos a la vista previa del fichero generado:

Eso es todo amig@s, nos vemos en el siguiente post!

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.