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