证书转换

证书转换

1 pem格式转jks格式

证书转换命令:

  1. 原因 : Java无法读取pem格式的证书,Java自身的证书读取格式为keystore(JKS),所以需要将证书进行一个集成和转换

  2. 步骤

a) 原有的证书有两个文件

​ i. CLIENT_certs.pem : 证书文件

​ ii. CLIENT_privkey.pem : 客户端私钥文件

b) 需要将私钥证书文件中的内容复制到证书文件的最后,把两个文件集合成一个文件,例子如下

完成集合后的文件

c) 将集合后的pem文件转换为jks文件

在windows的命令提示符下输入以下命令,进入jdk bin目录,使用keytool工具

keytool -import -trustcacerts -alias test(1) -file CLIENT_certs.pem(2) -keystore CLIENT_certs.jks(3)

  1. test: keystore的别名,可以按实际要求设置

  2. CLIENT_certs.pem : 集合后的证书文件

  3. CLIENT_certs.jks : 转换后的keystore文件,程序实际调用的证书文件

过程中会要求输入证书的密码,默认为“123456”,建议不改,因为此密码在代码中是写死的。

3,查看jks证书信息命令:

在windows的命令提示符下输入以下命令,进入jdk bin目录,使用keytool工具

keytool -list -v -keystore C:\box-cert\APP\truststore.jks -storepass 123456

C:\box-cert\APP\truststore.jks --> 证书路劲,不能有空格

2 pem格式转p12格式

方法一

在windows通过openssl来实现证书转换

Step1: 检查openssl是否安装成功,进入cmd,使用openssl version 命令查看

>openssl version

>OpenSSL 3.0.5 5 Jul 2022 (Library: OpenSSL 3.0.5 5 Jul 2022)

能正常显示版本,即表示openssl安装是成功的

Step2: 进入pem文件目录,使用命令转换证书

Openssl pkcs12 -export -in 文件1.pem -inkey 文件2.pem -out 文件2.p12

Sample:

openssl pkcs12 -export -in client.pem -inkey MOS-PK.pem -out CLIENT_certs1.p12

注意:文件1是客户端证书,文件2是客户端私钥,文件3是生成的p12格式证书。开头的openssl一定不能省略,windows下直接输入openssl进入不了对应环境。

方法二

借助于centos虚拟机,将文件通过scp命令传到虚拟机。

Sample:

Step1:上传到虚拟机 client 和 mos-pk文件:

scp client.pem MOS-PK.pem root@192.168.67.160:/data

step2: 在虚拟机上使用openssl,密码123456

[root@localhost data]# openssl

OpenSSL> pkcs12 -export -in client.pem -inkey MOS-PK.pem -out CLIENT_certs.p12

Enter Export Password:

Verifying - Enter Export Password:

OpenSSL> exit

Step3:从虚拟机下载到本地当前目录:需要输入虚拟机密码

scp root@192.168.67.160:/data/CLIENT_certs.p12 ./

posted @ 2022-09-02 14:29  逆流的鱼2016  阅读(389)  评论(0编辑  收藏  举报