一句话总结:
HTTPS证书校验就像验身份证——浏览器当警察,查发证机关(CA)、有效期、姓名(域名),还要确认没被拉黑(吊销)!
一、校验流程(警察验身份证版)
假设你(浏览器)是警察,对方(网站)出示一张身份证(证书),你需要:
1. 查发证机关是否可信(根证书信任链)
-
步骤:
- 检查证书是否由信任的“公安局”(CA机构,如DigiCert、Let's Encrypt)签发。
- 确认证书链完整:根证书 → 中间证书 → 站点证书,每一级签名都要验证。
比喻:
- 根证书:公安部发的总许可证。
- 中间证书:省公安局的分支授权。
- 站点证书:派出所给个人发的身份证。
技术细节:
- 浏览器内置了全球信任的根证书列表,不在此列表的CA会被标记为不可信。
2. 核对身份证信息(证书内容校验)
-
检查项:
-
域名是否一致:证书上的姓名(域名)必须和网站地址一致。
- 错误示例:访问
www.真银行.com,证书却是www.假银行.com。
- 错误示例:访问
-
有效期:证书是否在有效期内(类似身份证过期无效)。
-
用途:证书是否允许用于服务器身份验证(Extended Key Usage)。
-
代码示例:
证书信息:
- 颁发给:www.example.com
- 颁发者:DigiCert TLS RSA SHA256 2020 CA
- 有效期:2023-01-01 至 2024-01-01
3. 确认没被拉黑(吊销检查)
-
检查方式:
- CRL(证书吊销列表) :公安局的逃犯名单,定期更新。
- OCSP(在线证书状态协议) :实时联网查询证书状态。
比喻:
- 警察联网查身份证是否挂失或伪造。
技术细节:
- OCSP Stapling:服务器提前从CA获取吊销状态,减少客户端查询延迟。
二、常见错误场景
| 错误类型 | 浏览器提示 | 原因 |
|---|---|---|
| 证书域名不匹配 | “此证书仅适用于其他网站” | 证书域名与实际访问的域名不符 |
| 证书已过期 | “此证书已过期” | 证书超过有效期 |
| 未知颁发机构 | “此证书不是由可信机构颁发” | CA不在浏览器的信任列表中(如自签名证书) |
| 证书已吊销 | “此证书已被吊销” | CA主动吊销了该证书(如私钥泄露) |
三、用户如何判断网站安全?
- 看地址栏:确保有 🔒 锁标志,且域名前是
https://。 - 点击锁标志:查看证书详情,确认颁发机构和有效期。
- 警惕异常提示:若出现证书错误警告,可能遇到钓鱼网站!
四、总结口诀
“证书校验三步走,先查发证可信否。
域名有效期对得上,再查吊销有没有。
锁标域名要看清,安全上网不用愁!”