0
我試圖在使用Java的密鑰庫上自動創建。我正在運行child_process產卵函數。首先,通過stderr通道的keytool命令響應很奇怪,但它會提示我輸入密碼。我不確定如何提交任何內容。如果我調用stdin.end(),則會終止進程。在Windows上從節點運行Java keytool命令
var KEYTOOL_COMMAND = "C:\\Program Files\\Java\\jdk1.8.0_05\\bin\\keytool";
var ktArgs = ["-genkey", "-v", "-keystore", "test.keystore", "-alias", "test", "-keyalg", "RSA", "-keysize" ,"2048", "-validity", "10000"];
var spawn = require("child_process").spawn;
var cmd = spawn(KEYTOOL_COMMAND, ktArgs);
cmd.stdout.on('data', function (data) {
console.log('stdout: ' + data);
});
cmd.stderr.setEncoding('utf8');
cmd.stderr.on('data', function (data) {
cmd.stdin.write("password\\n\\r");
});
cmd.on('close', function (code) {
console.log('child process exited with code ' + code);
});
在這裏,我要提交「密碼」作爲我的密碼。
你逃避你的CR和LF,試試這個來代替:'cmd.stdin.write( 「password \ r \ n」);'你也可以嘗試沒有CR:'cmd.stdin.write(「password \ n」);' – mscdex 2014-10-06 18:33:15
你應該給我的朋友寫一個答案。 – 2014-10-06 18:59:19