目录
- 一、X.509证书 介绍
- 1.1 什么是 X.509证书?
- 1.2 什么是 X.509标准?
- 1.3 什么是 PKI?
- 二、X.509证书 工作原理
- 2.1 PKI 的基础——加密算法
- 2.2 PKI 证书编码
- 三、X.509证书 结构
- 3.1 证书字段
- 3.2 证书扩展
背景:
- 我们在日常的开发过程中,经常会遇到各种各样的电子证书文件,其实我们常见的
.p12
、.pfx
、.crt
、.csr
、.pem
、.key
后缀的文件都是 X.509 证书。- 本篇文章就让我们一起来学习了解一下,什么是 X.509 证书?
一、X.509证书 介绍
1.1 什么是 X.509证书?
X.509证书
是一种遵循 X.509标准(RFC 5280)
的数字证书,是目前 世界上使用最广泛 的数字证书类型,用于验证网络通信中的实体身份。
- 它包含了:
公钥
、证书认证机构(CA)信息
、有效期
、序列号
,以及证书持有者的其他 元数据。 - X.509证书 广泛使用于
HTTPS
、S/MIME
、SSL/TLS
等安全协议中,以确保双方的身份真实性。 - 除了 X.509证书 这种类型之外,数字证书还有其他类型的证书,如
PGP证书
,主要在 PGP 加密系统中验证密钥的归属。
1.2 什么是 X.509标准?
X.509标准
是由 ITU(国际电信联盟)
制定的 一套数字证书标准,它是 PKI(公钥基础设施)
的 标准格式。
想了解更多的话,可以找官方资料阅读一下。
国家标准(中文文档):《GB/T 20518-2018 信息安全技术 公钥基础设施 数字证书格式.pdf》
1.3 什么是 PKI?
PKI(Public Key Infrastructure,公钥基础设施)
是一种 用于管理和验证数字证书的框架体系。PKI 提供了一种安全的方式来管理公钥加密技术,确保、确信双方能够信任对方的身份,并保证数据传输的安全性。
PKI 的工作流程:
- 证书申请:终端实体向 RA 提交证书申请,包含个人信息和公钥。
- 身份验证:RA 验证终端实体的身份信息。
- 证书签发:CA 根据 RA 的验证结果签发数字证书,并使用自己的私钥对证书进行签名。
- 证书分发:证书通过安全的渠道分发给终端实体。
- 证书使用:终端实体使用证书进行加密、签名等操作。
- 证书验证:接收方验证证书的有效性,包括证书的签名、过期日期等。
- 证书撤销:当证书不再有效或需要提前撤销时,CA 会将证书加入 CRL 或通过 OCSP 发布撤销状态。
二、X.509证书 工作原理
X.509 标准基于一种 ASN.1(抽象语法表示法)
的 接口描述语言,这种接口描述语言定义了可以 跨平