Error al convertir certificado a PFX

viernes, 10 de abril de 2020


Recientemente tuve la necesidad de convertir un certificado crt/p7b emitido por GoDaddy a PFX, lo necesitaba para una implementación en Azure, además muchos otros servicios en esta nube requieren de un certificado de este tipo, como por ejemplo: App Service, Application Gateway, LDAP seguro para Azure AD DS, entre otros. Así que lo primero que intenté fue convertir el certificado a PFX utilizando el crt proporcionado por GoDaddy, utilizando WSL como se muestra a continuación:

openssl pkcs12 -export -in 662c900db27b8e2b.crt -inkey private.key -out certificate.pfx


Y generó el siguiente mensaje de error:

unable to load private key 140415038919104:error:0906D06C:PEM routines:PEM_read_bio:no start line:../crypto/pem/pem_lib.c:691:Expecting: ANY PRIVATE KEY


Después de varias consultas en Internet, la causa que encontré sobre este error es la codificación del archivo que contiene la llave privada, que debe estar en UTF-8 sin BOM. Esto lo podemos verificar y cambiar si es el caso de manera sencilla utilizando Notepad ++.

Pare verificar, basta con editar el archivo que contiene la llave privada, luego vamos al menú Codificación y en este caso vemos que está marcado Codificar en UTF-8


Lo que debemos hacer es marcar la opción que está justo encima Codificar en UTF-8 sin BOM y guardar los cambios.


Después de esto volvemos a realizar el intento, y ahora si solicita la clave para el PFX y efectivamente lo genera sin problema.


Archivo PFX generado:


Y esto es todo! espero les sea de utilidad.

2 comentarios:

EdwinP dijo...

de donde sacas el archivo private.key?

solo tengo los tres archivos .crt .pem .p7b puedes dar mas detalle por favor

Unknown dijo...

El archivo Key se obtiene antes de concluir la generación del certificado en el portal de GoDaddy.

Ahí hacen menciona que debes guardar el privateKey y el CSR, también hace mención que el privateKey lo usaras mas adelante para generar el archivo certificado (PFX).

Sino tienes el PrivateKey, porque no generaste todo el proceso dentro de Godaddy, revisa si puedes hacer un request y desde el Goddady volver a formar el certificado.

 

Lo más visto

Comunidad

Comunidad
Comunidad Técnica

Visitas