Java 相当于 'openssl rsautl -verify -out'
Java equivalent to 'openssl rsautl -verify -out'
我有一些数据已使用如下方式签名:
openssl rsautl -sign -in file -inkey PrivateKey.pem -out sig
然后可以使用以下方法恢复已签名的数据:
openssl rsautl -pubin -inkey PublicKey.pem -verify -in sig -out file
我已将 public 密钥转换为 Java PublicKey 对象,并考虑将其与 java.security 中的签名 class 一起使用,但事实并非如此似乎有一种方法可以恢复原始签名数据。
有没有办法使用 Java 恢复已签名的数据?
正如 dave_thompson_085 在评论中所建议的那样,可以使用以下方法恢复数据:
Cipher cipher = Cipher.getInstance("RSA");
cipher.init(Cipher.DECRYPT_MODE, publicKey);
byte[] extractedBytes = cipher.doFinal(sig);
我有一些数据已使用如下方式签名:
openssl rsautl -sign -in file -inkey PrivateKey.pem -out sig
然后可以使用以下方法恢复已签名的数据:
openssl rsautl -pubin -inkey PublicKey.pem -verify -in sig -out file
我已将 public 密钥转换为 Java PublicKey 对象,并考虑将其与 java.security 中的签名 class 一起使用,但事实并非如此似乎有一种方法可以恢复原始签名数据。
有没有办法使用 Java 恢复已签名的数据?
正如 dave_thompson_085 在评论中所建议的那样,可以使用以下方法恢复数据:
Cipher cipher = Cipher.getInstance("RSA");
cipher.init(Cipher.DECRYPT_MODE, publicKey);
byte[] extractedBytes = cipher.doFinal(sig);