使用openssl工具与java jdk工具进行格式转换。
一、DER转换为PEM
DER格式通常使用在Java平台中。
1、运行以下命令进行证书转化:
openssl x509 -inform der -in certificate.cer -out certificate.pem
运行以下命令进行私钥转化:
openssl rsa -inform DER -outform PEM -in privatekey.der -out privatekey.pem
2、查看PEM编码证书:
openssl x509 -in cert.pem -text –noout
openssl x509 -in cert.cer -text –noout
openssl x509 -in cert.crt -text –noout
3、如果遇到这个错误,这意味着正在尝试查看DER编码的证书,并需要使用"查看DER编码证书"中的命令。
unable to load certificate
12626:error:0906D06C:PEMroutines:PEM_read_bio:no start line:pem_lib.c:647:Expecting: TRUSTEDCERTIFICATE
二、PEM转换为DER
1、运行以下命令进行证书转化:
转换可以将一种类型的编码证书存入另一种。(即PEM到DER转换)
PEM到DER:
openssl x509 -in cert.crt -outform der-out cert.der
DER到PEM:
openssl x509 -in cert.crt -inform der -outform pem -out cert.pem
2、查看DER编码证书:
openssl x509 -in certificate.der -inform der -text -noout
3、如果您遇到以下错误,则表示您尝试使用DER编码证书的命令查看PEM编码证书。在"查看PEM编码的证书"中使用命令
unable to load certificate
13978:error:0D0680A8:asn1 encodingroutines:ASN1_CHECK_TLEN:wrong tag:tasn_dec.c:1306:
13978:error:0D07803A:asn1 encodingroutines:ASN1_ITEM_EX_D2I:nested asn1 error:tasn_dec.c:380:Type=X509
三、P7B转换为PEM
P7B格式通常使用在Windows Server和Tomcat中。
运行以下命令进行证书转化:
openssl pkcs7 -print_certs -in incertificate.p7b -out outcertificate.cer
四、PFX转换为PEM
(提取证书与私钥)
PFX格式通常使用在Windows Server中。
运行以下命令提取证书:
openssl pkcs12 -in certname.pfx -nokeys -out cert.pem
运行以下命令提取私钥:
openssl pkcs12 -in certname.pfx -nocerts -out key.pem –nodes
五、PFX合成
将私钥文件(server.key)和服务器crt证书文件(server.crt ),放到openssl安装目录的bin目录下。
cmd控制台也进到此目录下,然后执行下面指令。
openssl pkcs12 -export -out server.pfx -inkey server.key -in server.crt
然后再看bin目录下面多了一个server.pfx 文件,即为生成的pfx证书文件
说明:server.crt证书内需要有完整的证书链,因为怕浏览器访问提示缺少中间证书。或右键记事本打开server.crt,下面添加中级证书,再进行上续的合成步骤。
六、PXF转换为JKS
使用java jdk将PFX格式证书转换为JKS格式证书,cmd进入到Java\jdk1.8.0_171\bin下:
cd C:\Program Files\Java\jdk1.8.0_171\bin
keytool -importkeystore -srckeystore F:\test.pfx -srcstoretype pkcs12 -destkeystore F:\test.jks -deststoretype JKS
提示输入三次口令,建议统一密码
提示:Warning:
JKS 密钥库使用专用格式。建议使用 "keytool -importkeystore -srckeystore F:\test.jks -destkeystore F:\test.jks -deststoretype pkcs12" 迁移到行业标准格式 PKCS12。
继续输入:
keytool -importkeystore -srckeystore F:\test.jks -destkeystore F:\test.jks -deststoretype pkcs12
提示输入口令,统一密码
操作完成后,jks文件将转换在指定的目录下。
七、JKS合成
jks不支持将pkcs12类型的证书直接导入,所以需要上面的转换来实现jks的合成。
本文由梁桂钊于2021-03-27发表在梁桂钊的博客,如有疑问,请联系我们。
本文链接:https://720ui.com/7881.html