无论我们是从商家购买的SSL证书,还是自己免费获取的证书,如果需要部署到面板、服务器WEB环境中,可能对应的格式要求不一样的。比如一个网友在魔门云CDN部署SSL证书的时候,因为其只能支持PEM格式的证书,这就需要将原有可能不是的证书转换格式。
转换格式方式也有很多种,最为简单直接的办法直接用Linux自带的OpenSSL软件直接转换,整理老左准备通过这篇文章将常用格式转换(Certificates Formats)方式记录下来。
我们在准备转换格式之前,需要找一台Linux VPS,且已经安装OpenSSL软件的,如果没有安装,我们自行安装。
第一、PEM 转 PKCS7
openssl crl2pkcs7 -nocrl -certfile your_pem_certificate.crt -out your_pkcs7_certificate.p7b
第二、PKCS7 转 PEM
openssl pkcs7 -print_certs -in your_pkcs7_certificate.p7b -out your_pem_certificates.pem
第三、PEM 转 PFX
openssl pkcs12 -export -out your_pfx_certificate.pfx -inkey laozuo.key -in laozuo.crt
其中需要给PFX设置两次密码,密码要记住的,回头导入到项目需要输入。
第四、PFX 转 PEM
openssl pkcs12 -in your_pfx_certificate.pfx -out your_pem_certificates_and_key.pem -nodes
其中需要提示我们输入PFX证书的密码才可以转。
第五、PKCS7 转 PFX
PKCS7不可以直接转换成PFX,我们需要通过上面的方法先将PKCS7转成PEM,然后PEM转PFX。
openssl pkcs7 -print_certs -in your_pkcs7_certificate.p7b -out your_pem_certificates.pem
openssl pkcs12 -export -out your_pfx_certificate.pfx -inkey your_private.key -in your_pem_certificate.crt
总结,在转换SSL证书格式的时候,我们需要将以有的证书格式丢到执行openssl转换命令当前目录,且文件名需要对应。