web-dev-qa-db-fra.com

Exporter le fichier P7b avec toute la chaîne de certificats dans le fichier CER

J'ai un fichier p7b fourni par Thwate.Lorsque j'essaie d'exporter le certificat dans le fichier cer à l'aide de la commande ci-dessous, la chaîne de certificats n'est pas incluse.
Veuillez suggérer comment faire de même. Cette CER est requise pour l'importation dans le magasin de clés weblogic.

openssl pkcs7 -print_certs -in certificate.p7b -out certificate.cer
31
Kunal Jha

-print_certs est l'option que vous souhaitez utiliser pour répertorier tous les certificats dans le fichier p7b, vous devrez peut-être spécifier le format du fichier p7b que vous lisez.

Vous pouvez ensuite rediriger la sortie vers un nouveau fichier pour créer la liste concaténée des certificats.

Ouvrez le fichier dans un éditeur de texte, vous verrez soit Base64 (PEM) ou des données binaires (DER).

openssl pkcs7 -inform DER -outform PEM -in certificate.p7b -print_certs > certificate_bundle.cer

http://www.openssl.org/docs/apps/pkcs7.html

49
bcarroll

La réponse sélectionnée n'a pas fonctionné pour moi, mais elle est proche. J'ai trouvé un tutoriel qui a fonctionné pour moi et le certificat que j'ai obtenu de StartCom.

  1. Ouvrez le .p7b dans un éditeur de texte.
  2. Modifiez le leader et la bande-annonce pour que le fichier ressemble à ceci:

    -----BEGIN PKCS7-----
    [... certificate content here ...]
    -----END PKCS7-----
    

Par exemple, mon certificat StartCom a commencé par:

    -----BEGIN CERTIFICATE----- 

et s'est terminé par:

    -----END CERTIFICATE----- 
  1. Enregistrez et fermez le .p7b.
  2. Exécutez la commande OpenSSL suivante (fonctionne sur Ubuntu 14.04.4, à ce jour):

    openssl pkcs7 -print_certs –in pkcs7.p7b -out pem.cer
    

La sortie est un .cer avec la chaîne de certificats.

Référence: http://www.freetutorialssubmit.com/extract-certificates-from-P7B/2206

6
fundatillus

Le seul problème est que tout certificat supplémentaire dans le fichier résultant ne sera pas reconnu, car les outils n'attendent pas plus d'un certificat par fichier encodé PEM/DER. Même openssl lui-même. Essayer

openssl x509 -outform DER -in certificate.cer | openssl x509 -inform DER -outform PEM

et voyez par vous-même.

4
AnrDaemon

J'ai eu un problème similaire lors de l'extraction des certificats d'un fichier. Ce n'est peut-être pas la meilleure façon de le faire, mais cela a fonctionné pour moi.

openssl pkcs7 -inform DER -print_certs -in <path of the file> | awk 'split_after==1{n++;split_after=0} /-----END CERTIFICATE-----/ {split_after=1} {print > "cert" n ".pem"}'
1
Magnus

Si vous ajoutez -chain à votre ligne de commande, il exportera tous les certificats chaînés.

http://www.openssl.org/docs/apps/pkcs12.html

0
Master G