View Javadoc
1   package de.saly.kafka.crypto;
2   
3   import java.io.File;
4   import java.io.FileOutputStream;
5   import java.security.KeyPair;
6   import java.security.KeyPairGenerator;
7   import java.util.UUID;
8   
9   public class RsaKeyGen {
10      
11      public static void main(String[] args) throws Exception {
12          int keysize = (args != null && args.length > 0) ? Integer.parseInt(args[0]) : 2048;
13          System.out.println("Keysize: "+keysize+" bits");
14          String uuid = UUID.randomUUID().toString();
15          File pubKey = new File("rsa_publickey_" + keysize + "_" + uuid);
16          File privKey = new File("rsa_privatekey_" + keysize + "_" + uuid);
17  
18          KeyPairGenerator keyGen = KeyPairGenerator.getInstance("RSA");
19          keyGen.initialize(keysize);
20          KeyPair pair = keyGen.genKeyPair();
21          byte[] publicKey = pair.getPublic().getEncoded();
22          byte[] privateKey = pair.getPrivate().getEncoded();
23  
24          FileOutputStream fout = new FileOutputStream(pubKey);
25          fout.write(publicKey);
26          fout.close();
27  
28          fout = new FileOutputStream(privKey);
29          fout.write(privateKey);
30          fout.close();
31  
32          System.out.println(pubKey.getAbsolutePath());
33          System.out.println(privKey.getAbsolutePath());
34      }
35      
36  }