0
我已經64基在文件編碼的數字簽名稱爲digital_signatue1.txt:OpenSSL:已驗證RSA加密的公鑰數據證書
LE3v7aHDOtCYEWrURYfxrq4tAx5zg0siBK0yBdYJTxWTFw/tLoEOcT0JZPRy8RMY
bkCuLClsdVnjYhyfots3RyVl4uaSd2gpEnIN6YCo/DBCBltfWri3rFwtSeV/Gm9K
4+fMNiziTYjUWFS+1v1rbFxv4MbsRFEfYEtU0+xVHN8=
爲Base64解碼這個數字簽名,我用下面的命令:
openssl base64 -d -in digital_signature1.txt -out digital_signature2.txt
然後驗證數字簽名是由寄件人簽字,我用下面的命令:
openssl rsautl -verify -inkey sender-cert.pem -certin -in digital_signature2.txt
然而,它給了我下面的輸出:
Loading 'screen' into random state - done
RSA operation error
4080:error:0407006A:rsa routines:RSA_padding_check_PKCS1_type_1:block type is not 01:./crypto/rsa/rsa_pk1.c:100:
4080:error:04067072:rsa routines:RSA_EAY_PUBLIC_DECRYPT:padding check failed:./crypto/rsa/rsa_eay.c:699:
任何想法,我做錯了嗎?
我終於明白了。事實證明,我並沒有使用發件人的實際證書,而是使用「-inkey」選項後的其他人的證書。哎呀! – Luke