PEM格式的证书文件(*.pem)由Base64编码的二进制内容和开头行(-----BEGIN CERTIFICATE-----)、结束行(-----END CERTIFICATE-----)组成,支持使用notepad++等文本编辑器打开。本文介绍了将不同格式的证书转换为PEM格式的方法。

CER、CRT格式证书转换为PEM格式

对于CER、CRT格式的证书,您可通过直接修改证书文件扩展名的方式将其转换成PEM格式。例如,将server.crt证书文件直接重命名为server.pem

PFX格式证书转换为PEM格式

PFX格式的证书一般出现在Windows Server服务器中,您可通过openssl工具进行转换。

例如,通过执行以下两条openssl命令即可把certname.pfx证书转换成PEM格式。

  • 提取私钥命令:openssl pkcs12 -in certname.pfx -nocerts -out key.pem -nodes
  • 提取证书命令:openssl pkcs12 -in certname.pfx -nokeys -out cert.pem

P7B格式证书转换为PEM格式

P7B格式证书一般出现在Windows Server和Tomcat服务器中,您可通过openssl工具进行转换。

参照以下步骤,将P7B格式证书转化为PEM格式。
  1. 将P7B证书转换为CER格式。例如,执行openssl pkcs7 -print_certs -in incertificat.p7b -out outcertificate.cer命令将incertificat.p7b证书文件转换成outcertificate.cer格式。
  2. 获取outcertificat.cer文件中[-----BEGIN CERTIFICATE----------END CERTIFICATE-----]中的证书内容。
  3. 将证书内容保存为PEM格式。

DER格式证书转换为PEM格式

DER格式的证书一般出现在Java平台中,您可使用openssl工具将其转化为PEM格式。

例如,通过执行以下两条openssl命令可以把certificate.cer证书转换成PEM格式。
  • 提取证书:openssl x509 -inform der -in certificate.cer -out certificate.pem
  • 提取私钥:openssl rsa -inform DER -outform PEM -in privatekey.der -out privatekey.pem

更多关于证书格式的问题,请参见主流数字证书都有哪些格式?