En Ubuntu, no puedo convertir el certificado usando openssl con éxito.
vagrant@dev:/vagrant/keys$ openssl pkcs7 -print_certs -in a.p7b -out a.cer
unable to load PKCS7 object <blah blah>:PEM
routines:PEM_read_bio:no start line:pem_lib.c:696:Expecting: PKCS7
¿Has visto este error antes?
file a.p7b
te da?Respuestas:
Prueba esto:
Si no funciona, lleva a una máquina Windows y exporta, sigue esta guía.
fuente
-print_certs
en su comando. Afecta el formato de salida: con él obtienes un formato PEM (comenzando con ----- BEGIN CERTIFICATE -----), y sin él obtienes un formato PKCS # 7 (----- BEGIN PKCS7-- ---)-inform der
pieza. Tenga en cuenta también que al exportar una clave de Windows Cert Manager, DER y P7B son dos opciones distintas.Entonces, para combinar las respuestas anteriores, el comando es:
openssl pkcs7 -in cert.p7b -inform DER -print_certs -out cert.pem
Verificado para trabajar en Windows, usando OpenSSL-Win64
/ Gracias Bogdan por detectar el error
fuente
Seguí esta guía que le indica que cambie las líneas de encabezado / pie de página de
a
Luego ejecute el comando
openssl pkcs7 -in foo.modified.crt -print_certs -out foo.certs
(dondefoo.modified.crt
está el archivo en el que guardó la versión modificada). Esto me dio los mismos resultados que ejecutar una exportación de certificado de Windows como se sugiere en otras respuestas.fuente
Hasta donde yo sé, lo siguiente debería convertir un certificado pkcs7 a un pem
fuente
Solución rápida en mi caso (muchos archivos con falta de encabezado / pie de página):
base64 -d $FILE | openssl pkcs7 -inform DER -print_certs
fuente
Yo tuve este problema también. Iba a verificar un archivo p7b que copié de un host Win7.
Descubrí que el llavero gnome puede importar el certificado. Desde allí es fácil exportar a DER
fuente