文档首页 > > 常见问题> 其他> 证书管理类> 如何将证书格式转换为PEM格式?

如何将证书格式转换为PEM格式?

分享
更新时间:2020/12/28 GMT+08:00

证书格式之间是可以互相转换的。

如果您需要将其他格式的证书/私钥需要转换成PEM格式,建议通过OpenSSL工具进行转换。下面是几种比较流行的证书格式转换为PEM格式的方法。

证书格式转换为PEM格式

表1 证书转换命令

格式类型

转换方式(通过openssl工具进行转换)

CER/CRT

“cert.crt”证书文件直接重命名为“cert.pem”

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

P7B

  1. 证书转换,以“cert.p7b”转换为“cert.cer”为例。

    openssl pkcs7 -print_certs -in cert.p7b -out cert.cer

  2. “cert.cer”证书文件直接重命名为“cert.pem”

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

证书编码格式为PKCS8时

由于华为云WAF、ELB、CDN服务暂时不支持PKCS8编码格式,因此,当您将PKCS8编码格式的证书上传到SSL证书管理平台,再推送至WAF、ELB、CDN三个服务时,会报错。

  • 如果证书私钥文件以“-----BEGIN PRIVATE KEY-----”开头,则说明该证书是PKCS8编码格式。
  • 如果证书私钥文件以“-----BEGIN RSA PRIVATE KEY-----”开头,则说明该证书是PKCS1编码格式。

当您的公钥或者私钥的编码格式是PKCS8格式时,需要执行如下操作,才能将PKCS8编码格式的证书成功地运用到WAF、ELB、CDN服务。

  1. 证书格式是否为PEM格式。

  2. 执行如下命令将PKCS8编码格式转换为PKCS1编码格式。

    • PKCS8格式私钥转换为PKCS1格式

      openssl rsa -in pkcs8.pem -out pkcs1.pem

    • PKCS8公钥转PKCS1公钥

      openssl rsa -pubin -in public.pem -RSAPublicKey_out

  3. 将转换后的证书上传至SSL证书管理平台,详细的操作请参见上传证书
  4. 再将证书推送到对应的华为云服务,详细的操作请参见推送证书到云产品
分享:

文档是否有解决您的问题?

提交成功!非常感谢您的反馈,我们会继续努力做到更好!
反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问