/* * KeyHandler.java * * Created on den 9 januari 2005, 08:53 */ import java.security.*; import java.io.*; /** * * @author Henrik Johansson */ public class KeyHandler { private String privateKeyName; private String publicKeyName; private int keysize = 1024; private String algorithm = "DSA"; /** Creates a new instance of KeyHandler */ public KeyHandler() { } /** Creates a new instance of KeyHandler */ public KeyHandler(String privateKeyName, String publicKeyName) { this.privateKeyName = privateKeyName; this.publicKeyName = publicKeyName; } public void createKeys() { try { // generera nycklar KeyPairGenerator kpg = KeyPairGenerator.getInstance(algorithm); kpg.initialize(keysize); KeyPair kp = kpg.generateKeyPair(); // spara privat nyckel FileOutputStream privfos = new FileOutputStream(privateKeyName); ObjectOutputStream priv = new ObjectOutputStream(privfos); priv.writeObject(kp.getPrivate()); priv.close(); privfos.close(); // spara publik nyckel FileOutputStream pubfos = new FileOutputStream(publicKeyName); ObjectOutputStream pub = new ObjectOutputStream(pubfos); pub.writeObject(kp.getPublic()); pub.close(); pubfos.close(); } catch(Exception e) { e.printStackTrace(); } } public void setAlgorithm(String algorithm) { this.algorithm = algorithm; } public void setKeysize(int keysize) { this.keysize = keysize; } public void setPrivateKeyName(String privateKeyName) { this.privateKeyName = privateKeyName; } public void setPublicKeyName(String publicKeyName) { this.publicKeyName = publicKeyName; } /** * @param args the command line arguments */ public static void main(String[] args) { if(args.length != 2) { System.err.println("KeyHandler måste anropas med två argument, ."); System.exit(1); } KeyHandler kh = new KeyHandler(args[0], args[1]); kh.createKeys(); } }