Java tutorial
import java.security.KeyPair; import java.security.KeyPairGenerator; import java.security.PrivateKey; import java.security.PublicKey; import java.security.Signature; public class MainClass { public static void main(String[] args) throws Exception { String alg = "DSA"; KeyPairGenerator kg = KeyPairGenerator.getInstance(alg); KeyPair keyPair = kg.genKeyPair(); byte[] signature = performSigning("test", alg, keyPair); performVerification(args[0], alg, signature, keyPair.getPublic()); } static byte[] performSigning(String s, String alg, KeyPair keyPair) throws Exception { Signature sign = Signature.getInstance(alg); PrivateKey privateKey = keyPair.getPrivate(); PublicKey publicKey = keyPair.getPublic(); sign.initSign(privateKey); sign.update(s.getBytes()); return sign.sign(); } static void performVerification(String s, String alg, byte[] signature, PublicKey publicKey) throws Exception { Signature sign = Signature.getInstance(alg); sign.initVerify(publicKey); sign.update(s.getBytes()); System.out.println(sign.verify(signature)); } }