X.509 证书解析链接: ASN.1 JavaScript decoder

X.509 标准下载: Download File

X.509 证书结构

一个具体的 X.509 v3 数字证书的结构大致如下:
tbsCertificate
在数字证书的上下文中,TBSCertificate(To Be Signed Certificate)是X.509证书的一部分,包含了证书的主体数据,即那些将在签名之前被组织到一起进行签名的数据。 它是证书的核心内容,在整个证书结构中承载了证书的大部分信息。以下是TBSCertificate中包含的主要字段:

Version Number 指定X.509协议的版本。常用版本有v1、v2和v3,其中v3是最常用的,因为它支持扩展。

Serial Number 由证书颁发机构(CA)分配,用于唯一标识证书。它通常是一个大整数。CA分配序列号以确保每个颁发的证书都是唯一的。当某个证书需要被撤销时,序列号在证书吊销列表(CRL)中用来引用该证书。

Signature Algorithm ID 指定用于签名证书的算法类型(例如SHA-256与RSA)。作为创建证书时,标识了CA将要使用的签名算法。它是证书预期被签名的算法标识。

Issuer Name 表示颁发证书的实体的名称,通常是CA的名称。它采用了X.500标准DN(Distinguished Name,区别名)格式。

Validity Period 定义证书的有效起止时间。包含两个时间戳:Not Before(开始生效时间)和 Not After(失效时间)。证书在有效期之外不能被认为是有效的。验证者必须检查这个时间范围以确保在使用时证书是有效的。

Subject Name 表示拥有证书的实体的名称,同样使用X.500标准DN格式。它通常包含信息如国家、组织、单位及通用名(Common Name,通常是域名)。

Subject Public Key Info 包含公钥算法和公钥本身。这是验证证书持有者身份的关键。

Issuer Unique Identifier 用于区分发行者的唯一标识,当在多个上下文中使用同一发行者名称时尤其有用。

Subject Unique Identifier 用于区分持有者的唯一标识,当主体名称可能不是唯一时特别有用。

Extensions 提供额外的信息和功能,如密钥用法、基本约束、CRL分配点等。扩展可以是标准的,也可以是私有的。例如,Key Usage Extension限制了证书公钥的使用范围,而Extended Key Usage可以用于特定的应用(如SSL客户端身份验证)。 Subject Alternative Name (SAN)允许在单个证书中包含多个DNS名称或IP。

Certificate Signature Algorithm
描述用于生成这个签名的算法,提供了验证者需要的详细信息,以确保他们知道用哪个算法来正确验证证书签名的真实性。

Certificate Signature
这个字段包含了CA(证书颁发机构)对证书的数字签名。数字签名是CA使用其私钥对证书的TBSCertificate部分进行签名后生成的。

X.509 证书示例
Updating....
+