主要的SSL数字证书格式及相互转换

发布时间:2021-04-19 来源:金方科技 浏览量(6678 )
摘要:主流 Web 服务软件一般来说,主流的 Web 服务软件,通常都基于 OpenSSL 和 Java 两种基础密码库。Tomcat、Weblogic、JBoss等Web服务软件,一般使用Java提供的密码库。通过J...

主流 Web 服务软件

一般来说,主流的 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格式的证书文件。


    主要的SSL数字证书格式及相互转换

如何判断证书文件是文本格式还是二进制格式?

您可以使用以下方法简单区分带有后缀扩展名的证书文件:

  • *.DER或*.CER文件: 这样的证书文件是二进制格式,只含有证书信息,不包含私钥。

  • *.CRT文件: 这样的证书文件可以是二进制格式,也可以是文本格式,一般均为文本格式,功能与 *.DER及*.CER证书文件相同。

  • *.PEM文件: 这样的证书文件一般是文本格式,可以存放证书或私钥,或者两者都包含。 *.PEM 文件如果只包含私钥,一般用*.KEY文件代替。

  • *.PFX或*.P12文件: 这样的证书文件是二进制格式,同时包含证书和私钥,且一般有密码保护。

您也可以使用记事本直接打开证书文件。如果显示的是规则的数字字母,例如:

—–BEGIN CERTIFICATE—–
MIIE5zCCA8+gAwIBAgIQN+whYc2BgzAogau0dc3PtzANBgkqh......
—–END CERTIFICATE—–

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

  • 如果存在——BEGIN CERTIFICATE——,则说明这是一个证书文件。

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

证书格式转换

常用的SSL证书格式如下几种:

JKS:常用于 Weblogic,Tomcat,Jboss

PFK:常用于 IIS 等

Key + Crt:常用于 Apache,Nginx 等

KDB:常用于 IHS,Webspphere

当然您可以用我们提供的SSL证书格式转换工具进行在线转换:https://geshi.sslzhengshu.com/


SSL证书格式转换

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

  • 将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格式证书文件转化为KEY格式密钥文件和CRT格式公钥文件。例如,将您的PFX格式证书文件拷贝至OpenSSL安装目录,使用OpenSSL工具执行以下命令将证书转换成server.pem证书文件KEY格式密钥文件(server.key)和CRT格式公钥文件(server.crt):

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

    • 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

声明:本文由【金方科技】编辑上传发布,转载此文章须经作者同意,并请附上出处【金方科技】及本页链接。如内容、图片有任何版权问题,请联系我们进行处理!

感兴趣吗?

欢迎联系我们,我们愿意为您解答任何有关网站疑难问题!

微信号:18907144927