Openssl
手動驗證 S/MIME 消息摘要
如本文所述,我嘗試了以下步驟:
- 保存已簽名的電子郵件並將 p7s-part 提取到
Test.p7s
$ openssl asn1parse -in Test.p7s
給我:$ dd if=Test.p7s of=Test.bin bs=1 count=677 skip=4557
$ 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
例如。
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