【发布时间】:2021-02-23 06:43:14
【问题描述】:
目前我们正在使用 Java Process Builder 在我的应用程序中执行 keytool 命令。任何人都可以帮助如何实现 java Keytool API?
例如命令:
keytool -keystore /tmp/cert/client.truststore.jks -alias CARoot -import -file /tmp/cert/ca-cert -storepass password -keypass password -noprompt
Java 进程构建器示例:
String cmd = "keytool -keystore /tmp/cert/client.truststore.jks -alias CARoot -import -file /tmp/cert/ca-cert -storepass password -keypass password -noprompt"
ProcessBuilder processBuilder = new ProcessBuilder();
processBuilder.command(cmd);
try {
Process process = processBuilder.start();
BufferedReader in = new BufferedReader(new InputStreamReader(process.getInputStream()));
String output = in.lines().collect(Collectors.joining());
int exitVal = process.waitFor();
if (exitVal == 0) return output;
LOGGER.error(String.format(String.format("Certificate creation Failed %s", output)));
return null;
} catch (IOException | InterruptedException exception) {
LOGGER.error(exception.getMessage());
Thread.currentThread().interrupt();
}
【问题讨论】: