HI.
Ich will gerade versuchen, ein Keystore in einer Java-app zu erstellen.
wenn ich jetzt das keytool aufrufe, werde ich natürlich viele Fragen gefragt.
Ich versuche also, ihm die Antworten durch den Outputstream(den ich vom Process habe) zu geben.
der relevante Code sieht jetzt so aus:
Die Ausgabe ist:
Tja, und das wars auch schon.
Ich hatte wenigstens noch ein "-------------------------" erwartet, aber selbst das krieg ich nich zu Gesicht.
Hoffe, mir kann da jemand ein bisschen behilflich sein.
MfG
Ich will gerade versuchen, ein Keystore in einer Java-app zu erstellen.
wenn ich jetzt das keytool aufrufe, werde ich natürlich viele Fragen gefragt.
Ich versuche also, ihm die Antworten durch den Outputstream(den ich vom Process habe) zu geben.
der relevante Code sieht jetzt so aus:
Code:
Runtime r = Runtime.getRuntime();
String[] arr = new String[]{
jdkDir.endsWith("\\") || jdkDir.endsWith("/") ? jdkDir+"keytool" : jdkDir+"/keytool",
"-genkey",
"-keystore "+savePath.getText(),
"-alias "+yourName.getText(),
};
try {
Process p = r.exec(arr);
check(p);
OutputStream out = p.getOutputStream();
p.getOutputStream().write(String.valueOf(keyStorePwd.getPassword()).getBytes());
out.write(String.valueOf(keyStorePwd.getPassword()).getBytes());
out.write(System.getProperty("line.separator").getBytes());
out.flush();
check(p);
for(String s2 : arr)
System.out.print(s2);
// p.destroy();
} catch (IOException e1) {
e1.printStackTrace();
}
//everything done, so the txt-file can be deleted.
pf.delete();
}
};
private void check(Process p){
try {
byte[] b = new byte[1024];
InputStream err = p.getErrorStream();
err.read(b);
System.out.println("Errorstream:"+new String(b).trim());
err.close();
byte[] b2 = new byte[1024];
InputStream in = p.getInputStream();
in.read(b2);
System.out.println("Inputstream:"+new String(b2).trim());
in.close();
System.out.println("-------------------------");
} catch (IOException e) {
e.printStackTrace();
}
}
Die Ausgabe ist:
Errorstream:Geben Sie das Keystore-Passwort ein:
Tja, und das wars auch schon.
Ich hatte wenigstens noch ein "-------------------------" erwartet, aber selbst das krieg ich nich zu Gesicht.
Hoffe, mir kann da jemand ein bisschen behilflich sein.
MfG