I'm a tree and wating for the spring!
|

【转】主流数字证书都有哪些格式,及相互转化

★作者:星星仔   |  ★类别: 技术文章   |  ★发布时间: 2018-04-19 19:08   |  ★更新时间: 2018-04-19 19:37   |  ★浏览次数:1128   |  ★ 评论(0)

via. https://help.aliyun.com/knowledge_detail/42214.html

一般来说,主流的 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 文件: 这样的证书文件是二进制格式,同时包含证书和私钥,且一般有密码保护。


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


  1. —–BEGINCERTIFICATE—–
  2. MIIE5zCCA8+gAwIBAgIQN+whYc2BgzAogau0dc3PtzANBgkqh......
  3. —–ENDCERTIFICATE—–


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


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


证书格式转换

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

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

注意: 云盾证书服务统一使用 PEM 格式的数字证书文件。

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

2. 将 PFX 格式证书转换为 JKS 格式

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

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

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

3. 将 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

4. 将PFX转换为PEM/KEY/CRT

您可以使用 OpenSSL工具,将 PFX 格式证书文件转化为 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 格式证书公钥的情况下分离私钥。在您实际部署数字证书时,请使用通过此转换步骤分离出来的私钥和您申请得到的公钥证书匹配进行部署。


请尊重他人的劳动果实,转载时务必注明出处! 请尊重他人的劳动果实,转载时务必注明出处!
转载请注明:文章转载自:桐星豆博客 [http://blog.txdou.com]
本文标题:【转】主流数字证书都有哪些格式,及相互转化
本文地址:http://blog.txdou.com/article146
分享到QQ空间 分享到腾讯朋友

  • 注意:“桐星豆博客”只会以“回复”的身份出现,不会以“咨询”的身份出现在留言或评论中,凡是以“咨询”的身份出现的留言或评论均为他人盗用!
  • 本站用以回复网友评论的唯一名称是“桐星豆博客”,除此外均无效,网友不得用此名进行相应文章的评论或回复!
  • 用户言论只代表其个人观点,不代表桐星豆博客的观点或立场!
  • 非诚勿扰,请友好如实的评论,杜绝谩骂、人格攻击等一切伤人言论,请严格遵循中华人民共和国法律法规!
  • 桐星豆博客拥有最终解释权,如有网友违规,本站将有权删除或屏蔽违规评论,情节严重者账户加入黑名单、永久封IP并报司法部门严惩!
  • 您一旦参与评论本站则默认为您已经同意以上条款,否则“非诚勿扰”,谢谢合作!

您的姓名或昵称: 选填
您的E-Mail地址: ☆必填--仅站长可见
您个人网站地址: 选填 ( 如果填写,请务必加上 http:// 或 https:// 等等 )
留言内容:

验证码: 点击重新生成验证码  [ ctrl + enter ]

CopyRight © 2009-2020 by 桐星豆 All Rights Reserved. ICP证:京ICP备20021364号