1
10import java.security.KeyPairGenerator;
11import java.security.KeyPair;
12import java.security.PublicKey;
13import java.security.PrivateKey;
14import java.security.Key;
15
16public class GenerateKeyPair {
17 private static String formatKey(Key key){
18 StringBuffer sb = new StringBuffer();
19 String algo = key.getAlgorithm();
20 String fmt = key.getFormat();
21 byte[] encoded = key.getEncoded();
22 sb.append("Key[algorithm=" + algo + ", format=" + fmt + ", bytes=" + encoded.length + "]\n");
23 if (fmt.equalsIgnoreCase("RAW")){
24 sb.append("Key Material (in hex):: ");
25 sb.append(Util.byteArray2Hex(key.getEncoded()));
26 }
27 return sb.toString();
28 }
29 public static void main(String[] unused) throws Exception {
30 KeyPairGenerator kpg = KeyPairGenerator.getInstance("DSA");
31 kpg.initialize(512); KeyPair kp = kpg.generateKeyPair();
33 PublicKey pubk = kp.getPublic();
34 PrivateKey prvk = kp.getPrivate();
35 System.out.println("Generated Public Key:: " + formatKey(pubk));
36 System.out.println("Generated Private Key:: " + formatKey(prvk));
37 }
38}