Java Language Calculer et vérifier les signatures numériques


Exemple

Pour calculer une signature:

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();

Notez que l'algorithme de signature doit être compatible avec l'algorithme utilisé pour générer la paire de clés.

Pour vérifier une signature:

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

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

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

Produit cette sortie:

Signature: true