openssl数字证书常见格式与协议介绍

证书主要的文件类型和协议有: PEM、DER、PFX、JKS、KDB、CER、KEY、CSRCRTCRL 、OCSP、SCEP等。算法

PEM – Openssl使用 PEM(Privacy Enhanced Mail)格式来存放各类信息,它是 openssl 默认采用的信息存放方式。Openssl 中的 PEM 文件通常包含以下信息:浏览器

  1. 内容类型:代表本文件存放的是什么信息内容,它的形式为“——-BEGIN XXXX ——”,与结尾的“——END XXXX——”对应。
  2. 头信息:代表数据是若是被处理后存放,openssl 中用的最多的是加密信息,好比加密算法以及初始化向量 iv。
  3. 信息体:为 BASE64 编码的数据。能够包括全部私钥(RSA 和 DSA)、公钥(RSA 和 DSA)和 (x509) 证书。它存储用 Base64 编码的 DER 格式数据,用 ascii 报头包围,所以适合系统之间的文本模式传输。

使用PEM格式存储的证书:
—–BEGIN CERTIFICATE—–
MIICJjCCAdCgAwIBAgIBITANBgkqhkiG9w0BAQQFADCBqTELMAkGA1UEBhMCVVMx
………
1p8h5vkHVbMu1frD1UgGnPlOO/K7Ig/KrsU=
—–END CERTIFICATE—–
使用PEM格式存储的私钥:
—–BEGIN RSA PRIVATE KEY—–
MIICJjCCAdCgAwIBAgIBITANBgkqhkiG9w0BAQQFADCBqTELMAkGA1UEBhMCVVMx
………
1p8h5vkHVbMu1frD1UgGnPlOO/K7Ig/KrsU=
—–END RSA PRIVATE KEY—–
使用PEM格式存储的证书请求文件:
—–BEGIN CERTIFICATE REQUEST—–
MIICJjCCAdCgAwIBAgIBITANBgkqhkiG9w0BAQQFADCBqTELMAkGA1UEBhMCVVMx
………
1p8h5vkHVbMu1frD1UgGnPlOO/K7Ig/KrsU=
—–END CERTIFICATE REQUEST—–安全

DER – 辨别编码规则 (DER) 可包含全部私钥、公钥和证书。它是大多数浏览器的缺省格式,并按 ASN1 DER 格式存储。它是无报头的 - PEM 是用文本报头包围的 DER。
PFX 或 P12 – 公钥加密标准 #12 (PKCS#12) 可包含全部私钥、公钥和证书。其以二进制格式存储,也称为 PFX 文件。一般能够将Apache/OpenSSL使用的“KEY文件 + CRT文件”格式合并转换为标准的PFX文件,你能够将PFX文件格式导入到微软IIS 5/六、微软ISA、微软Exchange Server等软件。转换时须要输入PFX文件的加密密码。
JKS – 一般能够将Apache/OpenSSL使用的“KEY文件 + CRT文件”格式”转换为标准的Java Key Store(JKS)文件。JKS文件格式被普遍的应用在基于JAVA的WEB服务器、应用服务器、中间件。你能够将JKS文件导入到TOMCAT、 WEBLOGIC 等软件。
KDB – 一般能够将Apache/OpenSSL使用的“KEY文件 + CRT文件”格式转换为标准的IBM KDB文件。KDB文件格式被普遍的应用在IBM的WEB服务器、应用服务器、中间件。你能够将KDB文件导入到IBM HTTP Server、IBM Websphere 等软件。
CSR - 证书请求文件(Certificate Signing Request)。生成 X509 数字证书前,通常先由用户提交证书申请文件,而后由 CA 来签发证书。大体过程以下(X509 证书申请的格式标准为 pkcs#10 和 rfc2314):服务器

  1. 用户生成本身的公私钥对;
  2. 构造本身的证书申请文件,符合 PKCS#10 标准。该文件主要包括了用户信息、公钥以及一些可选的属性信息,并用本身的私钥给该内容签名;
  3. 用户将证书申请文件提交给 CA;
  4. CA 验证签名,提取用户信息,并加上其余信息(好比颁发者等信息),用 CA 的私钥签发数字证书;
  5. 说明:数字证书(如x.509)是将用户(或其余实体)身份与公钥绑定的信息载体。一个合法的数字证书不只要符合 X509 格式规范,还必须有 CA 的签名。用户不只有本身的数字证书,还必须有对应的私钥。X509v3 数字证书主要包含的内容有:证书版本、证书序列号、签名算法、颁发者信息、有效时间、持有者信息、公钥信息、颁发者 ID、持有者 ID 和扩展项。

OCSP – 在线证书状态协议(OCSP,Online Certificate Status Protocol,rfc2560)用于实时代表证书状态。OCSP 客户端经过查询 OCSP 服务来肯定一个证书的状态,能够提供给使用者一个或多个数字证书的有效性资料,它创建一个可实时响应的机制,让用户能够实时确认每一张证书的有效性,解决由CRL引起的安全问题。。OCSP 能够经过 HTTP协议来实现。rfc2560 定义了 OCSP 客户端和服务端的消息格式。
CER  - 通常指使用DER格式的证书。
CRT - 证书文件。能够是PEM格式。
KEY   - 通常指PEM格式的私钥文件。
CRL - 证书吊销列表 (Certification Revocation List) 是一种包含撤销的证书列表的签名数据结构。CRL 是证书撤销状态的公布形式,CRL 就像信用卡的黑名单,用于公布某些数字证书再也不有效。CRL 是一种离线的证书状态信息。它以必定的周期进行更新。CRL 能够分为彻底 CRL和增量 CRL。在彻底 CRL 中包含了全部的被撤销证书信息,增量 CRL 由一系列的 CRL 来代表被撤销的证书信息,它每次发布的 CRL 是对前面发布 CRL 的增量扩充。基本的 CRL 信息有:被撤销证书序列号、撤销时间、撤销缘由、签名者以及 CRL 签名等信息。基于 CRL 的验证是一种不严格的证书认证。CRL 能证实在 CRL 中被撤销的证书是无效的。可是,它不能给出不在 CRL 中的证书的状态。若是执行严格的认证,须要采用在线方式进行认证,即 OCSP 认证。通常是由CA签名的一组电子文档,包括了被废除证书的惟一标识(证书序列号),CRL用来列出已通过期或废除的数字证书。它每隔一段时间就会更新,所以必须按期下载该清单,才会取得最新信息。
SCEP - 简单证书注册协议。基于文件的证书登记方式须要从您的本地计算机将文本文件复制和粘贴到证书发布中心,和从证书发布中心复制和粘贴到您的本地计算机。 SCEP能够自动处理这个过程可是CRLs仍然须要手工的在本地计算机和CA发布中心之间进行复制和粘贴。
PKCS7 – 加密消息语法(pkcs7),是各类消息存放的格式标准。这些消息包括:数据、签名数据、数字信封、签名数字信封、摘要数据和加密数据。
PKCS12 – pkcs12 (我的数字证书标准)用于存放用户证书、crl、用户私钥以及证书链。pkcs12 中的私钥是加密存放的。数据结构

相关文章
相关标签/搜索