美文网首页
干货 | SSL证书格式详解与转换

干货 | SSL证书格式详解与转换

作者: 洞桥山人 | 来源:发表于2019-07-31 17:07 被阅读0次

一般来说,主流的 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——,则说明这是一个证书文件

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

证书格式转换

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

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

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

文章来源:

https:www.sslchaoshi.com

相关文章

  • 干货 | SSL证书格式详解与转换

    一般来说,主流的 Web 服务软件,通常都基于 OpenSSL 和 Java 两种基础密码库。 Tomcat、We...

  • SSL证书常见格式转换

    SSL证书常见格式转换

  • ssl socket通信

    SSL+socket 详解-概念 Android中SSL通信中使用的bks格式证书的生成

  • SSL 证书

    本文介绍 SSL 证书相关标准、格式及转换命令。 证书标准 X.509 是密码学中公钥证书的格式标准,主要定义了证...

  • open ssl证书格式转换

    以下是在自建CA签发证书时使用到的关于证书格式转换的处理 把x509证书crt转换为pem文件 对比后发现差别在c...

  • Nginx配置Https单向、双向认证

    SSL相关概念及原料请参考OpenSSL 与 SSL 数字证书概念贴、SSL/TLS原理详解 为了便于理解,我们...

  • SSL 证书基础知识

    SSL 证书基础知识 前言 SSL 证书存在多种不同的格式,例如: cer, crt, der等, 那么不同格式之...

  • 自签nginx ssl证书转换tomcat或者resin fpx

    自签nginx ssl证书转换tomcat或者resin fpx和crt证书 转换证书关系图 转换关系图 ngin...

  • 数字证书简介

    目的 记录常用的数据证书格式,以及如何生成数字证书和进行格式转换 目录 生成证书 转换格式 文件格式 生成证书 k...

  • APNs相关

    理解证书文件和描述文件 APNS原理和详解 SSL协议方式 APNs 各种证书之间的关系

网友评论

      本文标题:干货 | SSL证书格式详解与转换

      本文链接:https://www.haomeiwen.com/subject/emyzrctx.html