Java Language Calcola e verifica le firme digitali

Esempio

Per calcolare una firma:

final PrivateKey privateKey = keyPair.getPrivate();
final byte[] data = "FOO BAR".getBytes();
final Signature signer = Signature.getInstance("SHA1withRSA");

signer.initSign(privateKey);
signer.update(data);

final byte[] signature = signer.sign();

Si noti che l'algoritmo della firma deve essere compatibile con l'algoritmo utilizzato per generare la coppia di chiavi.

Per verificare una firma:

final PublicKey publicKey = keyPair.getPublic();
final Signature verifier = Signature.getInstance("SHA1withRSA");

verifier.initVerify(publicKey);
verifier.update(data);

System.out.println("Signature: " + verifier.verify(signature));

Produce questo risultato:

Signature: true