X.509 公钥证书

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

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

证书是一种已签名的数据结构,用于将公钥绑定到实体。 以下示例显示了版本 3 X.509 证书的抽象语法表示法 One (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

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

公钥基础结构