生成 JKS(Java Key Store) 文件
keytool -genkeypair -keystore mercury.jks -keyalg RSA -validity 180 -alias mercury
参数说明
keytool
: 这是 Java Keytool 工具,用于管理密钥和证书。-genkeypair
: 指示 Keytool 生成一个密钥对(公钥和私钥)。-alias mercury
: 设置密钥对的别名为 "mercury"。别名用于在 KeyStore 中唯一标识密钥条目。-validity 180
: 指定生成的证书有效期为 180 天。-keyalg RSA
: 指定密钥算法为 RSA。-keystore mercury.jks
: 指定要创建或使用的 KeyStore 文件的名称为 "mercury.jks"。
然后按照提示输入相关信息即可生成 JKS 文件。
导出公钥
-
使用
keytool
从 JKS 中导出证书keytool -exportcert -keystore mercury.jks -alias mercury -file cert.crt
这会生成一个名为 cert.crt 的文件。
-
使用
openssl
将证书转换为 PEM 格式openssl x509 -inform der -in cert.crt -out cert.pem
这会从 cert.crt 创建一个名为 cert.pem 的 PEM 格式证书文件。
导出私钥
由于 keytool 不能直接导出私钥为 PEM 格式,您需要先,然后再从 PKCS12 导出私钥。
-
将 JKS 转换为 PKCS12 格式
keytool -importkeystore -srckeystore mercury.jks -destkeystore keystore.p12 -deststoretype PKCS12
替换相应的路径和密码。这会创建一个名为 keystore.p12 的 PKCS12 格式文件。
-
从 PKCS12 导出私钥为 PEM 格式:
openssl pkcs12 -in keystore.p12 -nocerts -nodes -out key.pem
使用您为 PKCS12 文件设置的密码。这会生成一个名为 key.pem 的包含私钥的 PEM 文件。