Java(java.security)中的签名是否存在大小限制?

Gre*_*ter 4 java security sha1 digital-signature

我正在尝试使用SHA1签署令牌对象.我使用bouncycastle作为安全提供者.每当程序试图签署某些东西时,它就会给我这个错误.

java.security.SignatureException: java.lang.IllegalArgumentException: input data too large.
Run Code Online (Sandbox Code Playgroud)

签名的最大尺寸是多少?你对我如何签署这个对象有什么建议吗?

Mar*_*ams 5

输入大小限制为密钥的大小.如果使用1024位密钥,则限制为128个字节.

通常,您要对摘要(哈希值)进行签名,而不是实际数据.

  • @Just12,在文件 ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-1/pkcs-1v2-1.pdf,第 30 页,第 8.2.1 节。`signature,一个长度为 k 的八位字节串,其中 k 是 RSA 模数 n 的八位字节长度`。还有充气城堡的常见问题解答。http://www.bouncycastle.org/wiki/display/JA1/Frequently+Asked+Questions (2认同)