Verificación de cli de correo electrónico firmado digitalmente

10

Soy Alice y he recibido un correo electrónico firmado de Bob.

Uso el cliente de correo electrónico web (por ejemplo, GMail) y veo que uno de los archivos adjuntos es smime.p7s.

Encontré la opción "mostrar mensaje original" y guardé contenido en message.orig.

Suponiendo que Bob firmó un correo electrónico, ¿cómo puedo verificarlo desde la línea de comandos?

(Supongamos que Bob usa una clave certificada firmada por algunas de las autoridades respetadas; no sé cuál, pero supongo que)

(Alice no quiere instalar el cliente de correo electrónico con la función adecuada, solo por un mensaje)

Grzegorz Wierzowiecki
fuente
+1 por la respuesta, -1 por no haber mencionado a Trudy (editar: P)
Avio

Respuestas:

9
openssl smime -verify -in message.orig

Agregue una opción -CAfileu -CApathpara especificar una lista diferente de certificados confiables del valor predeterminado del sistema.

Puede obtener información del certificado que se utilizó para firmar el correo electrónico con:

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

O del smime.p7s si ya lo has extraído:

openssl pkcs7 -in smime.p7s -text -inform DER -print_certs -noout
Stéphane Chazelas
fuente
ok, acabo de actualizar mi ca-certificates(Arch pacman -S ca-certificates) pero recibo un error: 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: ¿Tienes alguna idea de qué significa? Tal vez "abrir mensaje original" y luego guardar la fuente, hizo algunas transformaciones a la fuente del mensaje?
Grzegorz Wierzowiecki
¿ openssl pkcs7 -in smime.p7s -text -inform DER -print_certs -nooutFunciona (para decirle información sobre el certificado en el archivo pk7)?
Stéphane Chazelas
Si. (por cierto. Es un comando muy útil, agréguelo a su respuesta, creo que otros usuarios también se beneficiarán).
Grzegorz Wierzowiecki
El nuevo comando tampoco ayuda: pastebin.com/xNMG2gwQ
Grzegorz Wierzowiecki
Acabo de intentar "mostrar original" en gmail, luego usé "guardar página como" en firefox y el comando funcionó bien. También noté que gmail mostraba un encabezado "firmado" al expandirlos.
Stéphane Chazelas