SSL证书格式之间是可以互相转换的,通常是为了满足特定应用的需求。常见的SSL证书格式包括PEM、DER、PFX/P12、和CER等,而PEM格式是广泛使用的一种格式,因为它是基于Base64编码的文本文件,容易查看和编辑。如果您需要将其他格式的证书/私钥转换成PEM格式,建议通过OpenSSL工具进行转换。下面是几种比较流行的证书格式转换为PEM格式的方法。
一、常见的SSL证书格式
PEM:Privacy Enhanced Mail,基于Base64编码的文本文件,以-----BEGIN CERTIFICATE-----和-----END CERTIFICATE-----包裹。
DER:Distinguished Encoding Rules,二进制编码格式,适合于Java等需要二进制格式的系统。
PFX/P12:Personal Information Exchange,包含私钥和公钥的二进制格式,常用于Windows系统。
CER:Certificate,通常是DER或PEM编码,可以是二进制或Base64编码。
二、转换工具
1. OpenSSL:是一个强大的开源工具包,用于实现SSL和TLS协议,支持多种格式的证书转换。
2.Online Conversion Tools:有许多在线工具可以用于证书格式转换,如SSL Shopper的证书转换工具,但在线工具存在安全风险,特别是涉及私钥时应谨慎使用。
三、转换方法
1、如果是CER/CRT格式的证书,那么您可以通过将“cert.crt”证书文件直接重命名为“cert.pem”。
2、如果是PFX格式的证书,您则需提取私钥命令,以“cert.pfx”转换为“key.pem”为例。
openssl pkcs12 -in cert.pfx -nocerts -out key.pem
提取证书命令,以“cert.pfx”转换位“cert.pem”为例。
openssl pkcs12 -in cert.pfx -nokeys -out cert.pem
3、如果是P7B格式的证书,证书转换,以“cert.p7b”转换为“cert.cer”为例。
openssl pkcs7 -print_certs -in cert.p7b -out cert.cer
然后将“cert.cer”证书文件直接重命名为“cert.pem”。
4、如果是DER格式的证书,您可提取私钥命令,以“privatekey.der”转换为“privatekey.pem”为例。
openssl rsa -inform DER -outform PEM -in privatekey.der -out privatekey.pem
提取证书命令,以“cert.cer”转换为“cert.pem”为例。
openssl x509 -inform der -in cert.cer -out cert.pem
以上是四种比较流行的证书格式转换为PEM格式的方法,您可以根据SSL证书的不同格式类型,选择对应的方法进行证书格式转换。