以编程方式在Java servlet中使用keytool来创建证书/密钥对

时间:2012-07-02 17:23:26

标签: java servlets cryptography keystore keytool

我们需要创建一个HTTP服务,该服务可以创建并返回由受信任的父证书签名的证书。我们最初的计划是在使用Runtime.exec的Servlet中使用keytool在我们的jdk的bin目录中,但似乎keytool命令需要在命令行上提示答案。

例如:keytool -genkey -alias mydomain -keyalg RSA -keystore keystore.jks -keysize 2048在命令行上询问了许多问题。

我们的下一个想法是使用java.security.KeyStore,但我没有看到导出和持久存储的方法,我们希望将所有证书保存在jks文件中。如果Web容器出现故障,我们肯定需要能够保留所有PKI工件。

2 个答案:

答案 0 :(得分:1)

由于这是谷歌的最佳结果之一,我最终确定了这里的答案。

$ 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

希望这有助于其他人。

答案 1 :(得分:0)

试试Portecle。如果GUI无法执行此操作,则只需从源中提取信息。