Mega Code Archive

 
Categories / Java Tutorial / Security
 

DSA with Elliptic Curve

import java.security.KeyPair; import java.security.KeyPairGenerator; import java.security.SecureRandom; import java.security.Security; import java.security.Signature; import java.security.spec.ECGenParameterSpec; public class MainClass {   public static void main(String[] args) throws Exception {     Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider());     KeyPairGenerator keyGen = KeyPairGenerator.getInstance("ECDSA", "BC");     ECGenParameterSpec ecSpec = new ECGenParameterSpec("prime192v1");     keyGen.initialize(ecSpec, new SecureRandom());     KeyPair keyPair = keyGen.generateKeyPair();     Signature signature = Signature.getInstance("ECDSA", "BC");     signature.initSign(keyPair.getPrivate(), new SecureRandom());     byte[] message = "abc".getBytes();     signature.update(message);     byte[] sigBytes = signature.sign();     signature.initVerify(keyPair.getPublic());     signature.update(message);     System.out.println(signature.verify(sigBytes));   } }