基本字段
X.509 版本 1 证书包含以下字段。 版本 2 字段在 版本 2 字段中进行了讨论。 版本 3 字段在版本 3 扩展中进行了讨论。
版本
指定所编码证书的版本号。 目前,此字段的可能值为 0、1 或 2,但将来可能会扩展。
---------------------------------------------------------------------
-- Version number. Currently, this can be 0, 1, or 2.
---------------------------------------------------------------------
CertificateVersion ::= INTEGER {v1(0), v2(1), v3(2)}
序列号
包含证书颁发机构 (CA) 分配给证书的一个唯一正整数。
---------------------------------------------------------------------
-- Certificate serial number
---------------------------------------------------------------------
CertificateSerialNumber ::= INTEGER
签名算法
包含 对象标识符 (OID) ,该对象标识符指定 CA 用于对证书进行签名的算法。 例如,1.2.840.113549.1.1.5 指定 SHA-1 哈希算法与来自 RSA 实验室的 RSA 加密算法结合使用。
---------------------------------------------------------------------
-- Signature OID
---------------------------------------------------------------------
signature ::= AlgorithmIdentifier
AlgorithmIdentifier ::= SEQUENCE
{
algorithm OBJECT IDENTIFIER,
parameters ANY OPTIONAL
}
颁发者
包含创建和签名证书的 CA 的 X.500 可分辨名称 (DN) 。
---------------------------------------------------------------------
-- Issuer name
---------------------------------------------------------------------
Name ::= SEQUENCE OF RelativeDistinguishedName
RelativeDistinguishedName ::= SET OF AttributeTypeValue
AttributeTypeValue ::= SEQUENCE
{
type OBJECT IDENTIFIER,
value ANY
}
有效期
指定证书有效的时间间隔。 2049 年底的日期使用协调世界时 (格林威治平均时间) 格式 (yymmdddhmmssz) 。 从 2050 年 1 月 1 日开始的日期使用通用时间格式 (yyymmddhmmssz) 。
---------------------------------------------------------------------
-- Validity period
---------------------------------------------------------------------
Validity ::= SEQUENCE
{
notBefore ChoiceOfTime,
notAfter ChoiceOfTime
}
ChoiceOfTime ::= CHOICE
{
utcTime UTCTime,
generalTime GeneralizedTime
}
使用者
包含实体的 X.500 可分辨名称,该实体与证书中包含的公钥相关联。
---------------------------------------------------------------------
-- Subject name
---------------------------------------------------------------------
Name ::= SEQUENCE OF RelativeDistinguishedName
RelativeDistinguishedName ::= SET OF AttributeTypeValue
AttributeTypeValue ::= SEQUENCE
{
type OBJECT IDENTIFIER,
value ANY
}
公钥
包含公钥和关联的算法信息。
---------------------------------------------------------------------
-- Subject public key information
---------------------------------------------------------------------
SubjectPublicKeyInfo ::= SEQUENCE
{
algorithm AlgorithmIdentifier,
subjectPublicKey BITSTRING
}
AlgorithmIdentifier ::= SEQUENCE
{
algorithm OBJECT IDENTIFIER,
parameters ANY OPTIONAL
}
相关主题