当前位置: 首页 > 知识库问答 >
问题:

如何使用pss填充验证签名?

詹弘毅
2023-03-14

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

谢谢

C:\Project\pkc

C:\Project\pkc

共有1个答案

陆畅
2023-03-14

现在可以成功运行verify命令。

$ 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
 类似资料:
  • 我正在处理C RPC客户端。我需要使用OpenSSL对mime数据进行签名,并将公钥和签名发送到服务器。Java将尝试使用公钥验证签名。 问题是,JAVA无法验证OpenSSL生成的签名,但可以验证JAVA生成的签名。你知道如何修复我的c客户端代码吗? C客户端代码: JAVA代码:

  • 我已经把它归结为我能做的最简单的测试用例。我需要获取Python中生成的RSASSA-PSS签名,并在Go中验证它们。创建RSA密钥对并用其签名的Python代码如下: 那里引用的pycrypto_keys库可以在这里找到,用于参考函数和的具体实现。 我的Go测试由两个简单的文件组成,这些文件只依赖于核心包。首先是验证功能,verify.go: 第二,一个测试用例。密钥对和签名是使用顶部的Pyth

  • 我无法使用Crypt::RSA和Crypt::RSA::SS::PSS在Perl中验证PSS签名。 字符串“hello”是由设备签名的缓冲区。 “pubkey.pem”是设备的RSA公钥,用PEM_write_RSA_PUBKEY()从设备导出。 “hello.sig”包含由设备生成的二进制(原始)签名。(因为有填充,所以是128字节。) 我试图在Perl中使用crypt::rsa和crypt::

  • 我想分两步使用RSA/PSS签名制作SHA256,首先散列一条消息,然后使用RSASSA-PSS签名摘要 但我使用SHA256时RSA/PSS无法验证 我需要一些帮助,谢谢你的帮助。

  • 我需要使用java.security包使用信封的xml-dsig签名来验证文档。加载后,我取消了元帅文档,并根据xsd具有签名对象 - http://www.w3.org/2000/09/xmldsig# 然后: 调用getPublicKey并验证,结果我得到了签名长度不匹配,如果我没有编码签名,我没有得到不匹配,但也验证是错误的,但我使用的测试数据是完全有效的。放弃寻找错误,帮助我。请。文件编码

  • 我有一个JavaScript客户端和一个Node服务器。JS.我试图在客户端签署一个简单的文本,并将签名与公钥一起发送到服务器,然后服务器可以验证公钥。 客户端的任何东西都可以!但我无法在服务器端验证签名。我认为您没有必要阅读客户机代码,但为了保证,我也会提供它。 客户代码: 服务器代码(为此我使用express): 服务器控制台日志: 注: 我认为在服务器中正确导入了公钥,因为当我在服务器中再次