it-swarm.com.de

Konvertieren Sie von P7B zu PEM über OpenSSL

Unter Ubuntu kann ich ein Zertifikat mit openssl nicht erfolgreich konvertieren.

[email protected]:/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

Haben Sie diesen Fehler schon einmal gesehen?

44
Kevin Meredith

Versuche dies:

$ openssl pkcs7 -inform der -in a.p7b -out a.cer

Wenn es nicht funktioniert, bringt es auf einen Windows-Computer und exportiert folgen this Anleitung.

58
quanta

Um die obigen Antworten zu kombinieren, lautet der Befehl:
openssl pkcs7 -in cert.p7b -inform DER -print_certs -out cert.pem

Verifiziert, dass es unter Windows mit OpenSSL-Win64 funktioniert

/ Danke Bogdan, dass du den Fehler entdeckt hast

22

Ich folgte dieser Anleitung , die Sie anweist, die Kopf-/Fußzeilenzeilen von zu ändern

-----BEGIN PKCS #7 SIGNED DATA-----
[data]
-----END PKCS #7 SIGNED DATA-----

zu

-----BEGIN CERTIFICATE-----
[data]
-----END CERTIFICATE-----

Führen Sie dann den Befehl openssl pkcs7 -in foo.modified.crt -print_certs -out foo.certs (wo foo.modified.crt ist die Datei, in der Sie die geänderte Version gespeichert haben). Dies ergab die gleichen Ergebnisse wie beim Durchlaufen eines Windows-Zertifikatexports, wie in anderen Antworten vorgeschlagen.

8
Curtis Gibby

Soweit ich weiß, sollte Folgendes ein pkcs7-Zertifikat in ein pem konvertieren

openssl pkcs7 -in certificate_file.p7b -print_certs -out cert.pem
4
Giuseppe Urso

schnelle Lösung in meinem Fall (viele Dateien mit fehlender Kopf-/Fußzeile):

base64 -d $FILE | openssl pkcs7 -inform DER -print_certs

3
Cerber

Ich hatte auch dieses Problem. Ich wollte eine p7b-Datei überprüfen, die ich von einem Win7-Host kopiert habe.

Ich fand heraus, dass der Gnomschlüsselring das Zertifikat importieren kann. Von dort ist es einfach, nach DER zu exportieren

2
Joakim