java - 在 Java servlet 中以编程方式使用 keytool 来创建证书/ key 对

标签 java servlets cryptography keystore keytool

我们需要创建一个 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/

相关文章:

java - web.xml 中的 url-pattern 无法识别多个 url

java - 从控制台使用 Java 中的 Scanner 扫描双重内容

Java 数次幂加法程序错误结果

java - 在 Google map 上显示当前位置附近的多个位置

java - 我可以使用类变量将 Httpservletrequest/response 对象传递给 run() 方法吗?

java - 如何在 Java 中读取 RSA key ?

java - 使用 iText 或 iTextSharp 缩小 PDF 列文本以适应

java - Spring启动NoClassDefFoundError

c++ - C++中的异或大数

cryptography - 根据输入生成公钥/私钥对