扫一扫加站长微信
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....