71 votes

Conversion de P7B en PEM via OpenSSL

Sur Ubuntu, je ne peux pas convertir le certificat en utilisant openssl avec succès.

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

Avez-vous déjà vu cette erreur ?

86voto

quanta Points 49664

Essayez ça :

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

Si cela ne fonctionne pas, passez à une machine Windows et exportez comme suit こん guide.

46voto

Peet van de Sande Points 361

Donc pour combiner les réponses ci-dessus, la commande est :
openssl pkcs7 -in cert.p7b -inform DER -print_certs -out cert.pem

Vérifié pour fonctionner sur Windows, en utilisant OpenSSL-Win64

/Merci à Bogdan d'avoir repéré l'erreur.

10voto

Curtis Gibby Points 191

J'ai suivi ce guide qui vous demande de changer les lignes d'en-tête/de pied de page de

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

à

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

Ensuite, exécutez la commande openssl pkcs7 -in foo.modified.crt -print_certs -out foo.certs (où foo.modified.crt est le fichier dans lequel vous avez enregistré la version modifiée). J'ai obtenu les mêmes résultats qu'avec une exportation de certificat Windows, comme suggéré dans d'autres réponses.

8voto

Mutuelinvestor Points 640

Pour autant que je sache, ce qui suit devrait convertir un cert pkcs7 en pem

openssl pkcs7 -in certificate_file.p7b -print_certs -out cert.pem

7voto

d34dfish Points 21

Solution rapide dans mon cas (beaucoup de fichiers avec des en-têtes/pieds manquants) :

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

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X