大道至简,知易行难
广阔天地,大有作为

PEM证书转JKS

通常我们得到的SSL证书至少包含三个文件:
ca.pem:CA根证书
cert.pem:ca.pem签发的用户证书
cert.key:用户私钥
视情况可能还有中间CA的证书。

生成JKS文件需要用到Java中的keytool工具,用来生成KeyStore文件。而keytool需要P12格式,因而需要用到openssl将PEM转换为P12。P12同时包含了证书/私钥,通常由密码保护。openssl的pcs12命令参数如下:

OpenSSL的PKCS12命令

OpenSSL的PKCS12命令

我们可以利用该命令把PEM格式的证书和私钥转换成P12格式:

请注意,我们所用的不是-certfile参数:

使用OpenSSL将PEM格式转换为P12格式

使用OpenSSL将PEM格式转换为P12格式

然后可以使用命令:

来查看包含了证书和私钥的P12文件:

使用OpenSSL查看P12文件

使用OpenSSL查看P12文件

之后,我们可以使用Java中的keytool工具:

Java中的秘钥和管理工具:keytool工具

Java中的秘钥和管理工具:keytool工具

来生成JKS文件:

使用keytool将p12文件转换为jks文件

使用keytool将p12文件转换为jks文件

其中的参数为:

keytool的importkeystore参数

keytool的importkeystore参数

请注意,keytool执行时的warning中的JCEKS(实际转换后变成了同时兼容JKS和JCEKS两种的格式)。
我们可以使用keytool的list参数查看JKS中的证书和秘钥:

使用keytool的list参数查看JKS中的证书和秘钥

使用keytool的list参数查看JKS中的证书和秘钥

转载时请保留出处,违法转载追究到底:进城务工人员小梅 » PEM证书转JKS

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址