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 }