Vérification Cli des e-mails signés numériquement

10

Je m'appelle Alice et j'ai reçu un courriel signé de Bob.

J'utilise le client de messagerie Web (par exemple GMail) et je vois que l'une des pièces jointes est smime.p7s.

J'ai trouvé l'option "afficher le message d'origine" et enregistré le contenu dans message.orig.

En supposant que Bob a signé un e-mail, comment puis-je le vérifier à partir de la ligne de commande?

(Supposons que Bob utilise une clé certifiée signée par certaines autorités respectées - je ne sais pas laquelle, mais je suppose que)

(Alice ne veut pas installer le client de messagerie avec la fonctionnalité appropriée, juste pour un seul message)

Grzegorz Wierzowiecki
la source
+1 pour la réponse, -1 pour ne pas avoir mentionné Trudy (veuillez modifier: P)
Avio

Réponses:

9
openssl smime -verify -in message.orig

Ajoutez une option -CAfileou -CApathpour spécifier une liste de certificats de confiance différente de celle par défaut du système.

Vous pouvez obtenir des informations du certificat qui a été utilisé pour signer l'e-mail avec:

openssl smime -noverify -in message.orig -pk7out |
  openssl pkcs7 -print_certs -text -noout

Ou depuis le smime.p7s si vous l'avez déjà extrait:

openssl pkcs7 -in smime.p7s -text -inform DER -print_certs -noout
Stéphane Chazelas
la source
ok, je viens de mettre à jour mon ca-certificates(Arch pacman -S ca-certificates) mais je reçois une erreur: Verification failure 140717529130664:error:21071065:PKCS7 routines:PKCS7_signatureVerify:digest failure:pk7_doit.c:1048: 140717529130664:error:21075069:PKCS7 routines:PKCS7_verify:signature failure:pk7_smime.c:410: avez-vous une idée de ce que cela signifie? Peut-être que "ouvrir le message d'origine", puis enregistrer la source, a fait des transformations vers la source du message?
Grzegorz Wierzowiecki
openssl pkcs7 -in smime.p7s -text -inform DER -print_certs -nooutFonctionne- t-il (pour vous donner des informations sur le certificat dans le fichier pk7)?
Stéphane Chazelas
Oui. (btw. C'est une commande très utile, veuillez l'ajouter à votre réponse, je pense que d'autres utilisateurs en bénéficieront également.)
Grzegorz Wierzowiecki
La nouvelle commande n'aide pas trop: pastebin.com/xNMG2gwQ
Grzegorz Wierzowiecki
Je viens d'essayer "montrer l'original" dans gmail, puis j'ai utilisé "enregistrer la page sous" dans firefox et la commande a bien fonctionné. J'ai également remarqué que gmail affichait un en-tête "signé par" lors de leur développement.
Stéphane Chazelas