S/MIME メッセージダイジェストを手動で確認する

S/MIME メッセージダイジェストを手動で確認する

良いこの記事で説明されている、次の手順を試しました。

  1. 署名された電子メールを保存し、p7s部分を抽出してTest.p7s
  2. $ openssl asn1parse -in Test.p7s私にしてください: ここに画像の説明を入力してください。
  3. $ dd if=Test.p7s of=Test.bin bs=1 count=677 skip=4557
  4. $ openssl asn1parse -in Test.bin結果:

  0:d=0  hl=2 l=  87 prim: priv [ 5 ]        
  Error in encoding
  140297479046808:error:0D07207B:asn1 encoding    routines:ASN1_get_object:header too long:asn1_lib.c:157:

私がしたいのは、メッセージダイジェストが生成されるハッシュと一致することを確認することだけです。

$ openssl dgst -sha256 < mail.txt例えば。

答え1

openssl smime -sign -in index.xml -out index.cms -inkey ./certs/Sign_Key.key -signer ./certs/Sign_Key.crt

openssl smime -verify -in index.cms -CAfile ./certs/Sign_Key.crt -out index.csm.xml

openssl dgst -binary-sha256 index.xml openssl base64 |

関連情報