デジタル署名されたメールのCLI検証


10

私はアリスです。ボブから署名付きのメールを受け取りました。

Webメールクライアント(GMailなど)を使用していますが、添付ファイルの1つがであることがわかりましたsmime.p7s

「元のメッセージを表示」というオプションが見つかり、内容をに保存しましたmessage.orig

ボブが署名したメールを想定して、コマンドラインから確認するにはどうすればよいですか?

(ボブが尊敬された当局のいくつかによって署名された認証済みキーを使用すると仮定しましょう-私はどちらかはわかりませんが、私はそれを推測します)

(アリスは、適切な機能を備えた電子メールクライアントをインストールしたくありません。メッセージは1つだけです)


答えは+1、トゥルーディについて言及しなかった場合は-1(編集:P)
Avio

回答:


9
openssl smime -verify -in message.orig

-CAfileまたは-CApathオプションを追加して、システムのデフォルトとは異なる信頼できる証明書のリストを指定します。

電子メールへの署名に使用された証明書から情報を取得できます。

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

または、smime.p7sから、すでに抽出している場合は、次のようにします。

openssl pkcs7 -in smime.p7s -text -inform DER -print_certs -noout

ca-certificates(Arch pacman -S ca-certificates)を更新しましたが、エラーが発生しました: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: どういう意味ですか?「元のメッセージを開いて」ソースを保存して、メッセージソースにいくつかの変換を行ったのでしょうか。
Grzegorz Wierzowiecki 2012年

動作しますかopenssl pkcs7 -in smime.p7s -text -inform DER -print_certs -noout(pk7ファイルの証明書についての情報を伝えるため)?
ステファンChazelas

はい。(ところで、これは非常に便利なコマンドです。回答に追加してください。他のユーザーにもメリットがあると思います。)
Grzegorz Wierzowiecki

:新しいコマンドはあまりにも助けにはならないpastebin.com/xNMG2gwQ
グジェゴシWierzowiecki

私はGmailで「オリジナルを表示」を試し、Firefoxで「名前を付けてページを保存」を使用したところ、コマンドは正常に機能しました。また、Gmailを展開すると、「signed-by」ヘッダーが表示されることにも気付きました。
ステファンChazelas
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.