中国站
帮助中心 > 安全 > 高防IP > 常见问题 > 不同格式的HTTPS证书转换成PEM格式

不同格式的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

    说明:

    • [$Ccert_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格式文件。

    1. openssl pkcs7 -print_certs -in [$Incertificat.p7b] -out [$Outcertificate.cer]

    说明:

    • [$Incertificat.p7b]为需要转换的P7B格式证书。
    • [$Outcertificate.cer]为转换后的PEM格式证书。
  2. 只保留CER文件中以“——-BEGIN CERTIFICATE——-”开头,以“——-END CERTIFICATE——-”结尾的证书内容,如下所示。

    1. -----BEGIN CERTIFICATE-----
    2. MIIE5zCCA8+gAwIBAgIQN+whYc2BgzAogau0dc3PtzANBgkqh......
    3. -----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格式证书。具体文件以实际环境为准。