不同格式的HTTPS证书转换成PEM格式

概述

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

详细信息

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

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

PFX格式证书转换为PEM格式

PFX格式的证书一般出现在Windows Server服务器中,您可通过OpenSSL工具进行转换。通过执行以下两条 OpenSSL命令,将PFX格式证书转换成PEM格式证书。

  • 只提取私钥文件的命令:openssl pkcs12 -in [$Cert_Name.pfx] -nocerts -out key.pem -nodes
    说明
    • [$Cert_Name.pfx]为需要转换的PFX格式证书。
    • key.pem为提取的私钥文件。
  • 只提取公钥文件的命令:openssl pkcs12 -in [$Cert_Name.pfx] -nokeys -out cert.pem
    说明:cert.pem为提取的公钥文件。
  • 提取公钥和私钥合并文件的命令:openssl pkcs12 -in [$Cert_Name.pfx] -nodes -out all.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]为需要转换的P7B格式证书。
    • [$Outcertificate.cer]为转换后的PEM格式证书。
  2. 只保留CER文件中以“-----BEGIN CERTIFICATE-----”开头,以“-----END CERTIFICATE-----”结尾的证书内容,如下所示。
    -----BEGIN CERTIFICATE-----
    MIIE5zCCA8+gAwIBAgIQN+whYc2BgzAogau0dc3PtzANBgkqh......
    -----END CERTIFICATE-----
  3. 然后将CER文件的扩展名改成.pem即可。

DER格式证书转换为PEM格式

DER格式证书一般出现在Java平台中,您可使用OpenSSL工具将其转化为PEM格式。通过执行以下两条OpenSSL命令,DER格式证书转换为PEM格式。

  • 只提取公钥文件的命令:openssl x509 -inform der -in certificate.der -out certificate.pem
    说明:certificate.der为DER格式的证书,certificate.pem为转换后的PEM格式证书。具体文件以实际环境为准。
  • 只提取私钥文件的命令:openssl rsa -inform DER -outform PEM -in privatekey.der -out privatekey.pem
    说明:privatekey.der为DER格式的证书,privatekey.pem为转换后的PEM格式证书。具体文件以实际环境为准。

相关文档

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

适用于

  • DDoS高防
  • SSL证书