001package de.saly.kafka.crypto; 002 003import java.io.File; 004import java.io.FileOutputStream; 005import java.security.KeyPair; 006import java.security.KeyPairGenerator; 007import java.util.UUID; 008 009public class RsaKeyGen { 010 011 public static void main(String[] args) throws Exception { 012 int keysize = (args != null && args.length > 0) ? Integer.parseInt(args[0]) : 2048; 013 System.out.println("Keysize: "+keysize+" bits"); 014 String uuid = UUID.randomUUID().toString(); 015 File pubKey = new File("rsa_publickey_" + keysize + "_" + uuid); 016 File privKey = new File("rsa_privatekey_" + keysize + "_" + uuid); 017 018 KeyPairGenerator keyGen = KeyPairGenerator.getInstance("RSA"); 019 keyGen.initialize(keysize); 020 KeyPair pair = keyGen.genKeyPair(); 021 byte[] publicKey = pair.getPublic().getEncoded(); 022 byte[] privateKey = pair.getPrivate().getEncoded(); 023 024 FileOutputStream fout = new FileOutputStream(pubKey); 025 fout.write(publicKey); 026 fout.close(); 027 028 fout = new FileOutputStream(privKey); 029 fout.write(privateKey); 030 fout.close(); 031 032 System.out.println(pubKey.getAbsolutePath()); 033 System.out.println(privKey.getAbsolutePath()); 034 } 035 036}