X.509 公钥证书

公钥加密依赖于公钥和私钥对来加密和解密内容。 密钥在数学上是相关的,使用其中一个密钥加密的内容只能通过使用另一个密钥进行解密。 私钥是保密的。 公钥通常嵌入到二进制证书中,该证书将发布到可由所有授权用户访问的数据库。

X.509 公钥基础结构 (PKI) 标准标识了可靠公钥证书的要求。 证书是一种签名的数据结构,用于将公钥绑定到人员、计算机或组织。 证书由 证书颁发机构(CA)颁发。 所有使用公钥的通信方都依赖于 CA 来充分验证颁发证书的个人、系统或实体的身份。 验证级别通常取决于事务所需的安全级别。 如果 CA 可以适当地验证请求者的标识,它会对证书进行签名(加密)、编码并颁发证书。

证书是一个签名的数据结构,用于将公钥绑定到实体。 以下示例显示了版本 3 X.509 证书的 抽象语法表示法 3 (ASN.1) 语法。

-- X.509 signed certificate 

SignedContent ::= SEQUENCE 
{
  certificate         CertificateToBeSigned,
  algorithm           Object Identifier,
  signature           BITSTRING
}
 
-- X.509 certificate to be signed

CertificateToBeSigned ::= SEQUENCE 
{
  version                 [0] CertificateVersion DEFAULT v1,
  serialNumber            CertificateSerialNumber,
  signature               AlgorithmIdentifier,
  issuer                  Name
  validity                Validity,
  subject                 Name
  subjectPublicKeyInfo    SubjectPublicKeyInfo,
  issuerUniqueIdentifier  [1] IMPLICIT UniqueIdentifier OPTIONAL,
  subjectUniqueIdentifier [2] IMPLICIT UniqueIdentifier OPTIONAL,
  extensions              [3] Extensions OPTIONAL
}

自 1998 年成立以来,X.509 公钥证书标准的三个版本不断发展。 如下图所示,每个后续版本的数据结构都保留了以前版本中存在的字段,并添加了更多字段。

x.509 证书版本 1、2 和 3

以下主题更详细地讨论了可用字段:

公钥基础结构