CA证书简介
1. CA证书是什么?
CA(Certificate Authority,证书颁发机构) 是数字证书的核心信任锚点,属于公钥基础设施(PKI)的核心组件。CA证书的作用是:
- 签发证书:为实体(服务器、客户端、用户等)颁发数字证书。
- 验证身份:通过数字签名证明证书持有者的身份合法性。
- 建立信任链:形成从根CA到终端实体证书的信任链条。
2. 例子:典型X.509证书字段解析
使用以下命令生成一个自签名CA证书:
openssl req -x509 -newkey rsa:4096 -keyout ca.key -out ca.crt -days 365 -nodes
解析证书内容:
openssl x509 -in ca.crt -text -noout
输出关键字段示例:
Certificate:
Data:
Version: 3 (0x2)
Serial Number: 0x1234... (唯一序列号)
Signature Algorithm: sha256WithRSAEncryption
Issuer: C=CN, ST=Beijing, O=MyOrg, CN=MyRootCA # 颁发者信息
Validity
Not Before: Jan 1 00:00:00 2023 GMT
Not After : Jan 1 00:00:00 2024 GMT # 有效期
Subject: C=CN, ST=Beijing, O=MyOrg, CN=MyRootCA # 主体信息(自签名时与Issuer一致)
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
RSA Public-Key: (4096 bit) # 公钥
X509v3 extensions:
X509v3 Basic Constraints:
CA:TRUE # 标记为CA证书
X509v3 Key Usage:
Digital Signature, Certificate Sign # 用途限制
Signature Algorithm: sha256WithRSAEncryption # 签名算法
Signature Value: 4a:6b:cd... # CA私钥对证书的签名
3. CA证书的原理
- 信任锚点:操作系统、浏览器内置根CA证书,作为信任起点。
- 签名链验证:
- 当客户端收到服务端证书时,检查证书是否由可信CA签发。
- 用CA的公钥(来自CA证书)解密证书签名,验证其哈希值是否匹配证书内容。
- 若涉及中间CA,需逐级验证信任链直到根CA。
4. CA的前世今生
- 早期阶段(1990s):SSL协议诞生,VeriSign等商业CA垄断,证书昂贵。
- 开放与自动化(2010s):Let’s Encrypt推出免费证书,ACME协议实现自动化签发。
- 现代发展:证书透明度(Certificate Transparency, CT)日志、短周期证书(90天)、ECC算法普及。