当前位置:首页 > 分享 > 正文

SSL证书格式转换方法(ssl证书怎么替换)

使用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的合成。