我有一个JKS格式的密钥库,我想用apache2。 我怎样才能以简单的方式将密钥和证书(我已经链接)从JKS中导出? 我发现有很多答案,但似乎没有人有我的问题…(或答案是部分)
感谢您的时间。
JKS在DER中有证书,对于Apache,您想要有PEM(AKA X509)格式。
如何做到这一点的示例:
$JAVA_HOME/bin/keytool --list -keystore <mykeystore> $JAVA_HOME/bin/keytool -export -rfc -alias <alias_name> -file <cert.crt> -keystore <mykeystore>
所以你会想要导出私钥然后导出证书。
然后导出的私钥进入httpd.conf中的SSLCertificateKeyFile指令,并且可以将链接的证书放在SSLCertificateChainFile指令中。 这是SSLCertificateFile指令的补充。
没有办法“直接”导出证书以外的任何东西。 您将需要经过PKCS12格式的中间步骤。
keytool -importkeystore -srckeystore rec.jks -destkeystore rec.p12 -deststoretype PKCS12
这将提示input源和目标密码。 如果需要自动执行此操作,请使用PW=somepass keytool -srcpass:env PW ...或keytool -srcstorepass:file filecontainingpass ... ,并且类似地为-deststorepass
从那里,您可以使用openssl将PKCS12文件转换为标准的PEM:
openssl pkcs12 -in rec.p12 -out rec.pem
这也会提示input密码。 使用-passin env:PW或-passin file:filename和-passout选项,或者-nodes如果你不想要encryption的结果密钥,但要小心你写的地方。
生成的文件将包含您的密钥,证书,并可能包含完整的证书链。