package org.ourgrid.common.util; import java.security.KeyPair; import java.security.PrivateKey; import java.security.PublicKey; import org.ourgrid.common.OurGridContextFactory; import br.edu.ufcg.lsd.commune.network.signature.Util; public class SelfSignedSetup { public static void main(String[] args) throws Exception { if (args.length != 3) { throw new IllegalArgumentException("Wrong number of arguments! " + "Usage: SelfSignedSetup user server certpath"); } generateX509Certificate(args[0], args[1], args[2]); } private static void generateX509Certificate(String user, String server, String certificatePath) throws Exception { KeyPair generatedKeyPair = Util.generateKeyPair(); String dnData = OurGridContextFactory.getCertificateDN(user, server); SelfSignedCertificateGenerator.generateX509Certificate( generatedKeyPair, dnData, certificatePath); printKeyPair(generatedKeyPair); } private static void printKeyPair(KeyPair keyPair) { PrivateKey privateKey = keyPair.getPrivate(); PublicKey publicKey = keyPair.getPublic(); String encodedPublicKey = Util.encodeArrayToBase64String( publicKey.getEncoded()); String encodedPrivateKey = Util.encodeArrayToBase64String( privateKey.getEncoded()); String encodedKeyPair = encodedPublicKey + " " + encodedPrivateKey; System.out.println(encodedKeyPair); } }