本文档以 OpenSSL 和 Keytool 证书工具为例,介绍常用的证书格式转换方法。
本教程建立在以下环境基础上:
ssl.example.com.pem
:证书文件(PEM 编码)。ssl.example.com.key
:私钥文件。/usr/local/ssl/certs
。本示例将基于已有的 PEM 证书,生成对应的 PFX 证书。
要生成 PFX 格式证书,您需要准备以下文件:
本操作需使用以下 OpenSSL 命令:pkcs12
。
该命令的基础语法如下:
openssl pkcs12 -export -in <cert.pem> -inkey <cert.key> -out <cert.pfx>
变量说明:
<cert.pem>
:证书文件的存储路径。<cert.key>
:私钥文件的存储路径。<cert.pfx>
:生成的 PFX 证书的存储路径。关于pkcs12
命令的更多说明,请参见OpenSSL官方文档。
# 进入证书所在目录 cd /usr/local/ssl/certs # 生成PFX证书 openssl pkcs12 -export -in ssl.example.com.pem -inkey ssl.example.com.key -out ssl.example.com.pfx # 命令提示 Enter Export Password: Verifying - Enter Export Password:
执行pkcs12
命令后,您需根据命令提示,为 PFX 证书设置密码。您需要连续输入两次密码。
说明
请记住您为 PFX 证书设置的密码。安装 PFX 证书时,您需要提供相应的证书密码。
完成操作后,您可以在对应路径下查看已生成的 PFX 证书。
要将 PEM 证书转换成 JKS 格式,您必须先将 PEM 证书转换成 PFX 格式。
然后,您可以使用keytool -importkeystore
命令,将 PFX 格式证书转换成 JKS 格式。
keytool -importkeystore
命令的基础语法如下:
keytool -importkeystore -srckeystore <cert.pfx> -srcstoretype pkcs12 -destkeystore <cert.jks>
变量说明:
<cert.pfx>
:PFX 证书的存储路径。<cert.jks>
:生成的 JKS 证书的存储路径。关于 keytool 命令的更多用法,可使用keytool --help
命令进行查询。
# 进入证书所在目录 cd /usr/local/ssl/certs # 生成JKS证书 keytool -importkeystore -srckeystore ssl.example.com.pfx -srcstoretype pkcs12 -destkeystore ssl.example.com.jks # 命令提示 Importing keystore ssl.example.com.pfx to ssl.example.com.jks... Enter destination keystore password: Re-enter new password: Enter source keystore password: Entry for alias 1 successfully imported. Import command completed: 1 entries successfully imported, 0 entries failed or cancelled
执行importkeystore
命令后,您需根据命令提示,为 JKS 证书设置密码。您需要连续输入两次密码。最后,您还需要输入 PFX 证书的密码。
说明
请记住您为 JKS 证书设置的密码。安装 JKS 证书时,您需要提供相应的证书密码。
完成操作后,您可以在对应路径下查看已生成的 JKS 证书。