I am trying to add a private key pair to an existing Java KeyStore file. When I execute the following command via the Terminal, it works. (ie. when I execute "keytool -list -v -keystore ecekeystore.jks", I can see the newly added key)
keytool -genkey -alias blabla -keyalg RSA -keystore ecekeystore.jks -dname "CN=MyName, OU=blabla, O=blabla, L=blabla, S=blabla, C=US" -storepass password1 -keypass password2
But when I run the following piece of Java code, nothing changes in my keystore file.
    try {
        Runtime rt = Runtime.getRuntime();
        String command = "keytool " +
                "-genkey -alias blabla -keyalg RSA " +
                "-keystore ecekeystore.jks " +
                "-dname \"CN=MyName, OU=blabla, O=blabla, L=blabla, S=blabla, C=US\" " +
                "-storepass password1 " +
                "-keypass password2";
        System.out.println(command);
        Process pr = rt.exec(command);
        return true;
    } catch (IOException e) {
        e.printStackTrace();
    }
I'd appreciate any help!
SOLVED:
    Runtime rt = Runtime.getRuntime();
    try {
        String[] cmdArray = new String[14];
        cmdArray[0] = "keytool";
        cmdArray[1] = "-genkey";
        cmdArray[2] = "-alias";
        cmdArray[3] = "blabla";
        cmdArray[4] = "-keyalg";
        cmdArray[5] = "RSA";
        cmdArray[6] = "-keystore";
        cmdArray[7] = "ecekeystore.jks";
        cmdArray[8] = "-dname";
        cmdArray[9] = "CN=MyName, OU=blabla, O=blabla, L=blabla, S=blabla, C=US";
        cmdArray[10] = "-storepass";
        cmdArray[11] = "password1";
        cmdArray[12] = "-keypass";
        cmdArray[13] = "password1";
        Process pr = rt.exec(cmdArray);
        InputStream is = pr.getInputStream();
        InputStreamReader isr = new InputStreamReader(is);
        BufferedReader br = new BufferedReader(isr);
        String line;
        System.out.printf("Output is:\n");
        while ((line = br.readLine()) != null) {
            System.out.println(line);
        }
        return true;
    } catch (IOException e) {
        e.printStackTrace();
    }
