public static void main(String[] args) { boolean bOk = parseCmdLine(args); String userCertFile = ""; String userKeyFile = ""; String userCertReqFile = ""; if (bOk) { // Get default location of cert. CoGProperties props = CoGProperties.getDefault(); // If no alternate directory specified. if (certDir == null) { userCertFile = props.getUserCertFile(); userKeyFile = props.getUserKeyFile(); // Get root dir of default cert location. int pos = userKeyFile.lastIndexOf(File.separator); certDir = userKeyFile.substring(0, pos + 1); } else { // If alternate directory specified set cert locations. if (certDir.endsWith(File.separator) == false) { certDir += File.separator; } userCertFile = certDir + prefix + "cert.pem"; userKeyFile = certDir + prefix + "key.pem"; } // Cert request file name. userCertReqFile = userCertFile.substring(0, userCertFile.length() - 4) + "_request.pem"; } File fDir = null; fDir = new File(certDir); if (bOk) { // Create dir if does not exists. if (!fDir.exists()) { fDir.mkdir(); } // Make sure directory exists. if (!fDir.exists() || !fDir.isDirectory()) { System.out.println("The directory " + certDir + " does not exists."); bOk = false; } } // Make sure we can write to it. if (bOk) { if (!fDir.canWrite()) { System.out.println("Can't write to " + certDir); bOk = false; } } // Check not to overwrite any of these files. if (bOk) { if (force == false) { boolean bFileExists = false; File f = new File(userKeyFile); if (f.exists()) { System.out.println(userKeyFile + " exists"); bFileExists = true; } f = new File(userCertFile); if (f.exists()) { System.out.println(userCertFile + " exists"); bFileExists = true; } f = new File(userCertReqFile); if (f.exists()) { System.out.println(userCertReqFile + " exists"); bFileExists = true; } if (bFileExists) { System.out.println("If you wish to overwrite, run the script again with -force."); bOk = false; } } } String password = ""; if (bOk && !noPswd) { // Get password from user. bOk = false; int attempts = 0; System.out.println(message); while (bOk == false && attempts < 3) { password = Util.getInput("Enter PEM pass phrase: "); String password2 = Util.getInput("Verify password Enter PEM pass phrase: "); if (password.compareTo(password2) != 0) { System.out.println("Verify failure"); } else { if (password.length() < 4) { System.out.println("phrase is too short, needs to be at least 4 chars"); } else { bOk = true; } } attempts++; } } // Generate cert request. if (bOk) { try { System.out.println("writing new private key to " + userKeyFile); genCertificateRequest( cn, "*****@*****.**", password, userKeyFile, userCertFile, userCertReqFile); } catch (Exception e) { System.out.println("error: " + e); e.printStackTrace(); } } }