Java jks转换pem,PEM证书转JKS

本文详细介绍了如何将PEM格式的SSL证书和私钥转换为P12格式,然后使用Java的keytool工具生成JKS文件。首先,通过openssl的pkcs12命令将PEM文件转换为P12,接着使用keytool的importkeystore命令将P12文件转换为JKS。这个过程涉及到证书链、密码设置和文件格式之间的转换。
摘要由CSDN通过智能技术生成

通常我们得到的SSL证书至少包含三个文件:

ca.pem:CA根证书

cert.pem:ca.pem签发的用户证书

cert.key:用户私钥

视情况可能还有中间CA的证书。

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

9ee9e402534169242d0ef5db831bd1ee.png

OpenSSL的PKCS12命令

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

openssl pkcs12 -export -out cert.p12 -in cert.pem -inkey cert.key -passout pass:yourpassword

1

opensslpkcs12-export-outcert.p12-incert.pem-inkeycert.key-passoutpass:yourpassword

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

8602fec241debe6b9181295d204fc162.png

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

然后可以使用命令:

openssl pkcs12 -info -in cert.p12

1

opensslpkcs12-info-incert.p12

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

ac0fa32ad839dfbaefbffbc087ba648b.png

使用OpenSSL查看P12文件

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

308af4304071443b68161cafb19d47f7.png

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

来生成JKS文件:

keytool.exe -importkeystore -srckeystore cert.p12 -srcstoretype PKCS12 -srcstorepass yourpassword -destkeystore cert.jks -deststorepass yourpassword

1

keytool.exe-importkeystore-srckeystorecert.p12-srcstoretypePKCS12-srcstorepassyourpassword-destkeystorecert.jks-deststorepassyourpassword

bd1e87922302456ba67b98cc88aa1548.png

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

其中的参数为:

c7d42756d2b888ec03edcf59ab30938c.png

keytool的importkeystore参数

请注意,keytool执行时的warning中的JCEKS(实际转换后变成了同时兼容JKS和JCEKS两种的格式)。

我们可以使用keytool的list参数查看JKS中的证书和秘钥:

keytool.exe -list -keystore cert.jks

keytool.exe -list -rfc -keystore cert.jks

1

2

keytool.exe-list-keystorecert.jks

keytool.exe-list-rfc-keystorecert.jks

d81eab6a570a26440ce57a788d252b1e.png

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

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

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值