繁体   English   中英

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

我已经将公共密钥转换为Java PublicKey对象,并考虑将其与java.security中的Signature类一起使用,但是似乎没有允许恢复原始签名数据的方法。

有没有一种使用Java恢复签名数据的方法?

正如dave_thompson_085的注释中所建议的,以下内容可用于恢复数据:

Cipher cipher = Cipher.getInstance("RSA");
cipher.init(Cipher.DECRYPT_MODE, publicKey);

byte[] extractedBytes = cipher.doFinal(sig);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM