【发布时间】:2019-05-25 12:32:50
【问题描述】:
我正在使用 RSA 算法来验证数字签名,其中长度为 256。 但是我必须验证具有可变签名长度的数据包,例如(344,328)。如果我将使用 RSA,则会出现以下错误。
线程“main”java.security.SignatureException 中的异常:签名长度不正确:得到 328 但预期为 256..
那么我使用哪个算法来验证可变长度的签名?
【问题讨论】:
-
签名是如何创建的?不要把要签名的数据放在RSA签名里,那是不安全的!仅对哈希进行签名(为此使用通用的 RSA 签名标准)。请注意,对于 RSA2048 位密钥,最大数据大小为 256 字节,这是一个数学事实,任何人都无法更改!
-
实际上我正在从事银行项目,其中我没有关于它们是如何创建的信息,但我收到了包装(来自长度为 344,328 的银行),必须从我身边验证......是否可以验证超过 256 长度的签名
-
那您不使用Java提供的方法来验证RSA签名吗?无论如何,如果您想验证签名生成,您必须知道使用哪种标准。
标签: java