-1

如果我使用服务器-客户端方法,客户端使用数据(消息)更新签名。并发送到服务器。服务器如何从这个签名中获取消息?

final String message = "Hello world is a stupid message to be signed";

final KeyPair keyPair = KeyPairGenerator.getInstance("RSA").generateKeyPair();

final Signature privSig = Signature.getInstance("SHA1withRSA");

privSig.initSign(keyPair.getPrivate());

privSig.update(message.getBytes());

byte[] signature = privSig.sign();

final Signature pubSig = Signature.getInstance("SHA1withRSA");

pubSig.initVerify(keyPair.getPublic());
pubSig.update(message.getBytes());

System.out.println(pubSig.verify(signature));
4

1 回答 1

0

签名包含错误或摘要形式的消息。您无法从中提取消息。您需要将明文消息连同签名一起发送给接收者。否则,他们无法验证有效性。

于 2016-04-20T10:17:17.040 回答