1. 数字证书基础概念

1.1 数字证书的定义

数字证书(Digital Certificate)是由证书颁发机构(CA)签发的电子凭证,用于在网络通信中绑定公钥与实体身份。它解决了“如何信任对方公钥属于对方”这一核心问题,是 PKI(公钥基础设施)体系的信任基石。

核心作用:数字证书相当于网络世界的“身份证”,让通信双方在不预先交换密钥的情况下,通过 CA 的背书建立信任关系。

1.2 证书的组成结构

一张 X.509 v3 数字证书包含以下关键字段:

字段 说明 示例值
版本号 X.509 版本(v1/v2/v3) v3
序列号 CA 颁发的唯一整数标识 0x1A2B3C4D
签名算法 CA 签发证书时使用的哈希+非对称算法 sha256WithRSAEncryption
颁发者 签发该证书的 CA 名称(DN) CN=MyCA, O=Example Inc.
有效期 notBefore ~ notAfter 时间窗口 2024-01-01 ~ 2025-01-01
主体 证书持有者的名称(DN) CN=server.example.com
公钥 持有者的公钥算法与密钥数据 RSA 2048 bits
扩展 v3 扩展字段(用途、SAN、约束等) Server Authentication
签名值 CA 用私钥对上述字段的哈希签名 0xE5F6...

1.3 公钥、私钥与签名算法

证书中的公钥是公开分发的,私钥由持有者秘密保管。两者通过数学算法配对:

  • 加密/解密:公钥加密,私钥解密(机密性)。
  • 签名/验签:私钥签名,公钥验签(身份认证与完整性)。

常见的签名算法组合:

算法组合 哈希算法 非对称算法 典型密钥长度
RSA SHA-256 RSA 2048 / 4096
ECDSA SHA-256 ECDSA (P-256) 256 bits
Ed25519 SHA-512 EdDSA 256 bits
故障排查要点:证书自动校验失败时,首先检查签名算法是否被客户端支持(如旧系统不支持 SHA-256 以上哈希),以及公钥长度是否满足安全策略(如 RSA 1024 已被多数浏览器拒绝)。

1.4 X.509 标准概述

X.509 是 ITU-T 定义的公钥证书格式标准,当前主流版本为 v3(1996 年扩展)。其核心设计包括:

  • 证书路径:从根 CA → 中间 CA → 终端证书的信任链。
  • CRL/OCSP:证书吊销状态查询机制。
  • 扩展字段:支持自定义用途(如代码签名、TLS 服务器身份、电子邮件保护)。
常见误区:X.509 v3 证书的扩展字段(如 Subject Alternative Name)是 TLS 校验的关键。如果 SAN 缺失或与域名不匹配,即使证书链完整,浏览器也会报“证书名称不匹配”错误。
数字证书结构(X.509 v3) 证书主体(TBSCertificate) 版本号 (v3) 序列号 签名算法 颁发者 DN 有效期 (notBefore/notAfter) 主体 DN 公钥 (算法 + 密钥数据) 扩展字段 (Key Usage / SAN / Basic Constraints / CRL Distribution Points) CA 签名值(对 TBSCertificate 的哈希签名) 签名 公钥/私钥配对与签名验签流程 发送方(持有私钥) 私钥(秘密) 签名操作 签名值 接收方(持有公钥) 公钥(公开) 验签操作 验签通过/失败 传输签名值
故障排查关联:证书自动校验失败通常涉及以下环节:
① 公钥与私钥不配对(密钥对生成错误或私钥被替换);
② 签名算法不匹配(CA 签名算法与证书声明算法不一致);
③ 证书链中某张证书的签名值被篡改或 CA 公钥无法验签。