Verifikasi Cli dari email yang ditandatangani secara digital

10

Saya Alice dan saya menerima email yang ditandatangani dari Bob.

Saya menggunakan klien Web e-Mail (mis. GMail) dan saya melihat bahwa salah satu lampirannya adalah smime.p7s.

Saya telah menemukan opsi "tampilkan pesan asli" dan menyimpan konten ke dalamnya message.orig.

Dengan asumsi Bob menandatangani email, bagaimana saya bisa memverifikasinya dari baris perintah?

(Mari kita asumsikan Bob menggunakan kunci bersertifikat yang ditandatangani oleh beberapa otoritas yang dihormati - Saya tidak tahu yang mana, tapi saya kira itu)

(Alice tidak ingin menginstal klien email dengan fitur yang sesuai, hanya untuk satu pesan)

Grzegorz Wierzowiecki
sumber
+1 untuk jawabannya, -1 karena tidak menyebut Trudy (harap edit: P)
Avio

Jawaban:

9
openssl smime -verify -in message.orig

Tambahkan opsi -CAfileatau -CApathuntuk menentukan daftar sertifikat tepercaya yang berbeda dari standar sistem.

Anda dapat memperoleh informasi dari sertifikat yang digunakan untuk menandatangani email dengan:

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

Atau dari smime.p7s jika Anda sudah mengekstraknya:

openssl pkcs7 -in smime.p7s -text -inform DER -print_certs -noout
Stéphane Chazelas
sumber
ok, saya baru saja memperbarui ca-certificates(Lengkungan pacman -S ca-certificates) saya tetapi saya mendapatkan kesalahan: 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: Apakah Anda tahu apa artinya? Mungkin "buka pesan asli" dan kemudian simpan sumber, buat beberapa transformasi ke sumber pesan?
Grzegorz Wierzowiecki
Apakah openssl pkcs7 -in smime.p7s -text -inform DER -print_certs -nooutberfungsi (untuk memberi tahu Anda info tentang sertifikat dalam file pk7)?
Stéphane Chazelas
Iya. (btw. Itu perintah yang sangat berguna, silakan tambahkan ke jawaban Anda, saya yakin pengguna lain juga akan mendapat manfaat.)
Grzegorz Wierzowiecki
Perintah baru tidak membantu juga: pastebin.com/xNMG2gwQ
Grzegorz Wierzowiecki
Saya baru saja mencoba "show original" di gmail, kemudian menggunakan "save page as" di firefox dan perintahnya berfungsi dengan baik. Saya juga memperhatikan bahwa gmail memperlihatkan tajuk "ditandatangani" ketika mengembangkannya.
Stéphane Chazelas