Digital Certificate 数字证书
验证公钥持有者身份的文件。
公钥本身是一串数字——你怎么知道这个公钥真是 google.com 的,而不是中间人伪造的?答案:让一个大家都信的第三方(Certificate Authority,CA)在公钥上签个字。
证书里有什么
- 持有者信息(域名、组织名)
- 持有者公钥
- 颁发者(CA)
- 有效期
- 签名算法
- CA 的数字签名
信任链
你的浏览器
└─ 内置信任的 Root CA
└─ Root CA 签发的 Intermediate CA
└─ Intermediate CA 签发了 google.com 的证书
浏览器只内置 Root CA。中间层和叶子证书都靠链式签名验证。
常见类型
| 类型 | 用途 |
|---|---|
| TLS/SSL 证书 | HTTPS 网站 |
| 代码签名证书 | 证明这个 exe 没被改 |
| 客户端证书 | 服务器反过来验你身份 |
| S/MIME | 邮件加密签名 |
出问题的时候
- 过期 —— 浏览器报红
- 域名不匹配 —— 浏览器报红
- 自签证书 —— 没有 CA 链,只在内网用
- CA 被攻破 —— 整个信任体系崩塌(DigiNotar 事件)
- 私钥泄露 —— 必须吊销 + 重签