openssl解密有效但是签名验证失败

时间:2019-05-04 09:44:31

标签: openssl rsa

我很难验证使用RSA私钥创建的数字签名。当我尝试解密签名时,可以正确看到sha256摘要,但是,签名验证失败。我在下面做错什么了吗?

这是我的输入内容及其sha256摘要:

$ echo -n hello | sha256sum 
2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824  -

使用公钥进行的解密显示了相同的摘要:

$ openssl rsautl -inkey /tmp/pub.key -pubin -in /tmp/signature.bin  | hexdump
0000000 f22c ba4d b05f 0ea3 e826 2a3b b9c5 9ee2
0000010 161b 5c1e a71f 5e42 0473 6233 8b93 2498
0000020

我在文件中输入的内容相同,只有5个字符。

$ cat /tmp/in.txt 
hello$ wc -c /tmp/in.txt 
5 /tmp/in.txt

数字签名验证失败:

$ openssl dgst -sha256 -verify /tmp/pub.key \
  -signature /tmp/signature.bin /tmp/in.txt 
Verification Failure

任何想法都值得赞赏。预先感谢。

OpenSSL版本为1.1.0g

0 个答案:

没有答案