从Apache2的mod_ssl我有以下配置文件:
SSLCertificateFile x (certificate)
SSLCertificateKeyFile y (rsa private key)
SSLCertificateChainFile z.crt
从这些文件中,我想生成一个可以传递给jetty for SSL的java密钥库。我做了很多阅读,但是我对我实际拥有的内容感到困惑,以及将这些文件转换为密钥库所需的步骤。
答案 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