X.509 介绍

4/12/2024 10:56:25 AM
315
0

X.509是密码学里公钥证书的格式标准。它是一个标准,所以它有很多实现。它不是具体的一种证书,而是一类证书的泛称,是广义的叫法

证书组成结构

证书组成结构标准用ASN.1(一种标准的语言)来进行描述. X.509 v3 数字证书结构如下:

  • 证书
    • 版本号
    • 序列号
    • 签名算法
    • 颁发者
    • 证书有效期
      • 此日期前无效
      • 此日期后无效
    • 主题
    • 主题公钥信息
      • 公钥算法
      • 主题公钥
    • 颁发者唯一身份信息(可选项)
    • 主题唯一身份信息(可选项)
    • 扩展信息(可选项)
      • ...
  • 证书签名算法
  • 数字签名

常见的实现了 X.509 标准的证书类型

  • SSL/TLS 服务器证书: 这些证书用于在 SSL/TLS 协议中对服务器进行身份验证,以确保客户端连接到预期的服务器,并建立安全的加密通道。这些证书包含了服务器的公钥、服务器的主机名、颁发机构的数字签名等信息。
  • SSL/TLS 客户端证书: 客户端证书用于在 SSL/TLS 握手过程中对客户端进行身份验证,以确保服务器连接到预期的客户端。客户端证书包含了客户端的公钥、客户端的标识信息、颁发机构的数字签名等。
  • 代码签名证书: 用于对软件程序和代码进行数字签名,以确保代码的完整性和来源可信。这些证书通常由软件开发者使用,以向用户证明代码的来源和完整性。
  • 电子邮件加密/签名证书: 用于对电子邮件进行加密和数字签名,以确保邮件的机密性和完整性。这些证书允许用户在发送和接收电子邮件时进行加密和签名操作。
  • 身份证书: 用于在网络和身份验证系统中对用户身份进行验证,以确保用户是其声称的身份。这些证书通常用于 VPN 连接、Web 身份验证、数字身份证等场景。

常见的 X.509 证书格式

  • PEM 格式(Privacy Enhanced Mail): PEM 格式是一种常见的文本格式,使用 Base64 编码对证书进行编码,并使用 "-----BEGIN CERTIFICATE-----" 和 "-----END CERTIFICATE-----" 包围证书内容。PEM 格式的证书文件通常具有 ".pem" 或 ".crt" 扩展名。
  • DER 格式(Distinguished Encoding Rules): DER 格式是 X.509 证书的二进制 DER 编码表示,它不是基于文本的,而是以二进制形式存储证书数据。DER 格式的证书通常具有 ".der" 或 ".cer" 扩展名。
  • PKCS#12 格式: PKCS#12 是一种存储私钥、公钥和证书的标准格式,通常使用 ".pfx" 或 ".p12" 扩展名。PKCS#12 格式的文件通常包含了证书、私钥和可选的密码,可以用于安全地存储和传输证书和私钥。
  • PKCS#7 格式: PKCS#7 格式是一种用于证书链和数字签名的标准格式,可以用于将多个证书打包到单个文件中,并支持数字签名操作。PKCS#7 格式的文件通常具有 ".p7b" 或 ".p7c" 扩展名。
  • PEM 封装的 PKCS#8 格式: 这种格式将 PKCS#8 格式的私钥以 PEM 格式进行封装,以便与 PEM 格式的证书一起存储和传输。

 

全部评论



提问