从标准apache ssl certs生成java密钥库(用于jetty)

时间:2012-10-31 05:54:01

标签: java apache ssl keystore

从Apache2的mod_ssl我有以下配置文件:

 SSLCertificateFile      x (certificate)
 SSLCertificateKeyFile   y (rsa private key)
 SSLCertificateChainFile z.crt

从这些文件中,我想生成一个可以传递给jetty for SSL的java密钥库。我做了很多阅读,但是我对我实际拥有的内容感到困惑,以及将这些文件转换为密钥库所需的步骤。

2 个答案:

答案 0 :(得分:1)

您无法直接将私钥导入密钥库。但是您可以使用openssl将密钥和证书转换为pkcs#12存储。然后,您可以使用选项-importkeystore和选项-srcstoretype pkcs12将整个pkcs#12导入默认的Java密钥库。

(您也可以通过提供storetype'pkcs12'直接使用pkcs12商店)

答案 1 :(得分:1)

假设您要使用别名“domain.com”将密钥和证书存储在密钥库中,您可以使用以下命令完成工作:

keytool -keystore keystore.jks -import -alias root -file z.crt -trustcacerts

将导入您的根证书(或链文件)。然后您可以导入证书:

keytool -keystore keystore.jks -import -alias domain.com -file x -trustcacerts

最后,使用openssl工具将私钥转换为pkcs12,并将其导入密钥库。

openssl pkcs12 -export -in x -inkey y -out domain.pkcs12
keytool -importkeystore -srckeystore domain.pkcs12 -srcstoretype PKCS12 -destkeystore domain.com