web-dev-qa-db-fra.com

Comment déchiffrer un e-mail crypté S / MIME en utilisant OpenSSL Smime?

Pour une raison quelconque, je semble incapable de trouver une réponse à cette question fondamentale. J'ai reçu un courriel S/MIME crypté et je veux le déchiffrer en utilisant openssl smime. Cependant, je suppose que je suis incapable de fournir la clé dans le bon format. C'est ce que j'ai fait:

  • Enregistré le message électronique (format de texte brut) comme smime-ok.txt
  • Exporté ma clé à partir du porte-clés OS X myself.p12
  • Exporté mon certificat public du porte-clés OS X myself.cer

Puis j'ai essayé

openssl smime -decrypt -in smime-ok.txt -recip myself.p12

Mais je reçois

unable to load certificate
37740:error:0906D06C:PEM routines:PEM_read_bio:no start line:/BuildRoot/Library/Caches/com.Apple.xbs/Sources/OpenSSL098/OpenSSL098-64.50.7/src/crypto/pem/pem_lib.c:648:Expecting: TRUSTED CERTIFICATE

J'ai aussi essayé -inkey myself.p12 -recip myself.cer Et quelques variantes, mais cela n'a pas fait de différence. Je suppose que mon fichier clé n'est pas lu, ni ne lisez pas correctement, car je ne suis pas invité un mot de passe non plus.

Je soupçonne que je peux fondamentalement mal comprendre comment utiliser openssl smime.

4
not2savvy

C'est en fait le cas que openssl smime s'attend à ce que le format PEM dans le -recip Entrée, mais le fichier P12 est au format PKCS12. C'est comment convertir le p12 Fichier dans un fichier pem:

openssl pkcs12 -in myself.p12 -out myself.pem

Après cela, la suivante décrypte l'email comme prévu:

openssl smime -decrypt -in smime-ok.txt -recip myself.pem
3
not2savvy