我们为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 签名验证失败
答案 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