我们需要创建一个 HTTP 服务,该服务可以创建并返回由受信任的父证书签名的证书。我们最初的计划是使用 Runtime.exec 在 Servlet 中的 jdk 的 bin 目录中使用 keytool,但似乎 keytool 命令需要命令行上提示的答案。
例如:keytool -genkey -alias mydomain -keyalg RSA -keystore keystore.jks -keysize 2048
在命令行上询问一些问题。
我们的下一个想法是使用 java.security.KeyStore,但我没有找到导出和保存存储的方法,我们希望将所有证书保存在 jks 文件中。如果 Web 容器出现故障,我们肯定需要能够保留所有 PKI 工件。
最佳答案
因为这是谷歌的最佳结果之一,我最终找到了答案。
$ java -version
java version "1.7.0_11"
$ keytool -genkey -keysize 2048 \
-alias tomcat \
-keyalg RSA \
-dname "CN=example.com,OU=MyOrgUnit,O=MyOrg,L=Somewhere,S=State,C=US" \
-storepass Secret -keypass Secret \
-keystore keystore.jks
希望这对其他人有帮助。
关于java - 在 Java servlet 中以编程方式使用 keytool 来创建证书/ key 对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11298291/