SSL证书格式转换
PEM格式转换成JKS格式
一般情况,JAVA程序专用的证书格式,是JKS格式,如下是将pem格式的证书,转换为JKS格式的方法。
注意:如果要求证书中包含CA信息,那么转换前,应保pem格式的证书应是包含CA的,如下:
-----BEGIN CERTIFICATE-----
< certificate >
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
< CA >
-----END CERTIFICATE-----
- 将pem格式证书,转换成p12格式,命令如下:
openssl pkcs12 -export -out tmp.p12 -in cert.pem -inkey priv.key
- 将p12格式证书,转换成jks格式,命令如下,其中tmp.p12是上一条命令生成的,my.jks即是最终可用的jks格式证书:
keytool -importkeystore -srckeystore ./tmp.p12 -srcstoretype PKCS12 -deststoretype JKS -destkeystore my.jks
p12格式转换为pem格式
- 从p12证书中导出证书文件:
openssl pkcs12 -in xxx.p12 -nokeys -out cert.pem
- 从p12证书中导出key文件:
openssl pkcs12 -in xxx.p12 -nocerts -nodes -out private_key.pem
-nodes:指的是导出key文件时,不加密。如果需要为导出的key文件做加密,将-nodes去掉即可。
pem格式私钥转换为pkcs8格式
命令如下:
openssl pkcs8 -topk8 -in private_key.pem -out pkcs8_private_key.pem -nocrypt
jks转p12
keytool -importkeystore -srckeystore 3.jks -srcstoretype JKS -deststoretype PKCS12 -destkeystore tmp.p12
JKS导入信任证书
keytool -import -alias trustCerts -file cacert.pem -keystore jks/trust.jks
--结束--