从 JKS keystore 中迁移证书到 Nginx/Apache ========================================= .. versionadded:: @2010-07-08 创建 .. versionchanged:: @2019-01-19 增加源代码,原链接失效 Tomcat SSL 服务使用的证书和密钥存储是存储在所谓 JKS 格式的 keystore 文件之中, 证书可以用 keytool 导出,但私钥则没有提供工具来导出,下面是相应的步骤 (tomcat3 是第一个命令的输出,password 是 keystore 的密码): :: $ keytool -list -keystore keystore 输入keystore密码: Keystore 类型: JKS Keystore 提供者: SUN 您的 keystore 包含 1 输入 tomcat3, 2010-6-21, PrivateKeyEntry, 认证指纹 (MD5): ...................... $ keytool -exportcert -keystore keystore -rfc -alias tomcat3 > server.cer 输入keystore密码: $ java -cp . ExportPrivateKey keystore JKS password tomcat3 server.key server.cer 和 server.key 分别对应证书和私钥,apache 可以直接使用。 Java 程序 ExportPrivateKey 的源代码如下: .. literalinclude:: ExportPrivateKey.java :language: java