如何用pss填充验证签名?

时间:2017-06-08 06:23:10

标签: openssl

我们为RSA标志创建了调试公钥和私钥。 我们生成sha256哈希并保存在cp1.bin中。 然后我们尝试验证签名但总是失败。 如果我们不使用pss填充,则验证命令将通过。 有人可以帮忙评论吗?

由于

C:\ Project \ pkc> openssl pkeyutl -sign -in cp1.bin -inkey pvt_dbg.pem -out sig1.bin -pkeyopt digest:sha256 -pkeyopt rsa_padding_mode:pss -pkeyopt rsa_pss_saltlen:32

C:\ Project \ pkc> openssl pkeyutl -verify -in cp1.bin -sigfile sig1.bin -pkeyopt rsa_padding_mode:pss -pkeyopt rsa_pss_saltlen:32 -pubin -inkey pub_dbg.pem 签名验证失败

1 个答案:

答案 0 :(得分:2)

现在可以成功运行验证命令。

$ openssl pkeyutl -sign \
  -in hashOut.bin -inkey pvt_dbg.pem \
  -out sig1.bin \
  -pkeyopt digest:sha256 \
  -pkeyopt rsa_padding_mode:pss \
  -pkeyopt rsa_pss_saltlen:-1

然后

$ openssl pkeyutl -verify \
  -in cp1.bin -sigfile sig1.bin \
  -pkeyopt rsa_padding_mode:pss \
  -pubin -inkey pub_dbg.pem \
  -pkeyopt rsa_pss_saltlen:-1 \
  -pkeyopt digest:sha256