1 21 22 package uk.org.primrose.pool.jmx; 23 24 import java.security.*; 25 import java.io.*; 26 import javax.crypto.*; 27 import sun.misc.*; 28 29 32 33 public class GenKeys { 34 35 public static void main (String []args)throws Exception { 36 if (args.length != 1) { 37 38 System.out.println("Usuage : java uk.co.landmarkinfo.pool.jmx.GenKeys <path_to_poolConfig.properties_config_file>"); 39 System.exit(1); 40 } 41 42 if (new File(args[0]).isFile()) { 43 System.out.println("You have provided a file name, not a directory ...\nPlease supply as the single argument the directory path to where your pool config file (usually poolConfig.properties) resides."); 44 System.exit(1); 45 } 46 47 GenKeys gk = new GenKeys(); 48 49 gk.getKey(args[0] +"/pool.keys"); 50 51 System.out.println("Key file : '" +args[0] +"/pool.keys' successfully generated"); 52 } 53 54 55 public void getKey(String file)throws Exception { 56 Security.addProvider( new com.sun.crypto.provider.SunJCE() ); 58 KeyGenerator generator = KeyGenerator.getInstance("DES", "SunJCE" ); 59 60 generator.init(56, new SecureRandom()); 62 Key key = generator.generateKey(); 63 64 ByteArrayOutputStream keyStore = new ByteArrayOutputStream(); 65 ObjectOutputStream keyObjectStream = new ObjectOutputStream(keyStore); 66 keyObjectStream.writeObject(key); 67 68 69 byte[] keyBytes = keyStore.toByteArray(); 70 71 FileOutputStream fos = new FileOutputStream(file); 72 fos.write(keyBytes); 73 fos.flush(); 74 fos.close(); 75 76 } 77 } | Popular Tags |