文档首页 > > 常见问题> 证书咨询> 主流数字证书有哪些格式?

主流数字证书有哪些格式?

分享
更新时间: 2019/11/05 GMT+08:00

主流的Web服务软件,通常都基于OpenSSL和Java两种基础密码库。

  • Tomcat、Weblogic、JBoss等Web服务软件,一般使用Java提供的密码库。通过Java Development Kit(JDK)工具包中的Keytool工具,生成Java Keystore(JKS)格式的证书文件。
  • Apache、Nginx等Web服务软件,一般使用OpenSSL工具提供的密码库,生成PEM、KEY、CRT等格式的证书文件。
  • IBM的Web服务产品,如Websphere、IBM Http Server(IHS)等,一般使用IBM产品自带的iKeyman工具,生成KDB格式的证书文件。
  • 微软Windows Server中的Internet Information Services(IIS)服务,使用Windows自带的证书库生成PFX格式的证书文件。

查看证书文件的格式

  • 您可以使用以下方法简单区分带有后缀扩展名的证书文件:
    • *.DER或*.CER文件:这样的证书文件是二进制格式,只含有证书信息,不包含私钥。
    • *.CRT文件:这样的证书文件可以是二进制格式,也可以是文本格式,一般均为文本格式,功能与*.DER及*.CER证书文件相同。
    • *.PEM文件:这样的证书文件一般是文本格式,可以存放证书或私钥,或者两者都包含。*.PEM文件如果只包含私钥,一般用*.KEY文件代替。
    • *.PFX或*.P12文件:这样的证书文件是二进制格式,同时包含证书和私钥,且一般有密码保护。
  • 您也可以使用记事本直接打开证书文件。如果显示的是规则的数字和字母,例如:
    —–BEGIN CERTIFICATE—–
    MIIE5zCCA8+gAwIBAgIQN+whYc2BgzAogau0dc3PtzANBgkqh......
    —–END CERTIFICATE—–

    那么,该证书文件是文本格式的。

    • 如果存在“——BEGIN CERTIFICATE——”,则说明这是一个证书文件。
    • 如果存在“—–BEGIN RSA PRIVATE KEY—–”,则说明这是一个私钥文件。

证书格式转换

证书格式之间是可以互相转换的,如图1所示。

图1 证书格式转换

您可使用以下方式实现证书格式之间的转换:

  • 将JKS格式证书转换为PFX格式

    您可以使用JDK中自带的Keytool工具,将JKS格式证书文件转换成PFX格式。

    例如,您可以执行以下命令将“server.jks”证书文件转换成“server.pfx”证书文件:

    keytool -importkeystore -srckeystore D:\server.jks -destkeystore D:\server.pfx -srcstoretype JKS -deststoretype PKCS12

  • 将PFX格式证书转换为JKS格式

    您可以使用JDK中自带的Keytool工具,将PFX格式证书文件转换成JKS格式。

    例如,您可以执行以下命令将“server.pfx”证书文件转换成“server.jks”证书文件:

    keytool -importkeystore -srckeystore D:\server.pfx -destkeystore D:\server.jks -srcstoretype PKCS12 -deststoretype JKS

  • 将PEM/KEY/CRT格式证书转换为PFX格式

    您可以使用OpenSSL工具,将KEY格式密钥文件和CRT格式公钥文件转换成PFX格式证书文件。

    例如,将您的KEY格式密钥文件(server.key)和CRT格式公钥文件(server.crt)拷贝至OpenSSL工具安装目录,使用OpenSSL工具执行以下命令将证书转换成“server.pfx”证书文件:

    openssl pkcs12 -export -out server.pfx -inkey server.key -in server.crt

  • 将PFX格式证书转换为PEM/KEY/CRT格式

    您可以使用OpenSSL工具,将PFX格式证书文件转化为PEM格式证书文件、KEY格式密钥文件和CRT格式公钥文件。

    例如,将您的PFX格式证书文件拷贝至OpenSSL安装目录,使用OpenSSL工具执行以下命令将证书转换成“server.pem”证书文件、KEY格式密钥文件(server.key)和CRT格式公钥文件(server.crt):

    openssl pkcs12 -in server.pfx -nodes -out server.pem

    openssl rsa -in server.pem -out server.key

    openssl x509 -in server.pem -out server.crt

    此转换步骤是专用于通过Keytool工具生成私钥和CSR申请证书文件的转换,并且通过此方法您可以在获取到PEM格式证书公钥的情况下分离私钥。在您实际部署数字证书时,请使用通过此转换步骤分离出来的私钥和您申请得到的公钥证书匹配进行部署。

分享:

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

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

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

字符长度不能超过200

提交反馈 取消

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

跳转到云社区