一句话说透计算机网络里面的客户端如何校验https证书的合法性

287 阅读2分钟

一句话总结:
HTTPS证书校验就像验身份证——浏览器当警察,查发证机关(CA)、有效期、姓名(域名),还要确认没被拉黑(吊销)!


一、校验流程(警察验身份证版)

假设你(浏览器)是警察,对方(网站)出示一张身份证(证书),你需要:

1. 查发证机关是否可信(根证书信任链)

  • 步骤

    1. 检查证书是否由信任的“公安局”(CA机构,如DigiCert、Let's Encrypt)签发。
    2. 确认证书链完整:根证书 → 中间证书 → 站点证书,每一级签名都要验证。

比喻

  • 根证书:公安部发的总许可证。
  • 中间证书:省公安局的分支授权。
  • 站点证书:派出所给个人发的身份证。

技术细节

  • 浏览器内置了全球信任的根证书列表,不在此列表的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. 确认没被拉黑(吊销检查)

  • 检查方式

    1. CRL(证书吊销列表) :公安局的逃犯名单,定期更新。
    2. OCSP(在线证书状态协议) :实时联网查询证书状态。

比喻

  • 警察联网查身份证是否挂失或伪造。

技术细节

  • OCSP Stapling:服务器提前从CA获取吊销状态,减少客户端查询延迟。

二、常见错误场景

错误类型浏览器提示原因
证书域名不匹配“此证书仅适用于其他网站”证书域名与实际访问的域名不符
证书已过期“此证书已过期”证书超过有效期
未知颁发机构“此证书不是由可信机构颁发”CA不在浏览器的信任列表中(如自签名证书)
证书已吊销“此证书已被吊销”CA主动吊销了该证书(如私钥泄露)

三、用户如何判断网站安全?

  1. 看地址栏:确保有 🔒 锁标志,且域名前是 https://
  2. 点击锁标志:查看证书详情,确认颁发机构和有效期。
  3. 警惕异常提示:若出现证书错误警告,可能遇到钓鱼网站!

四、总结口诀

“证书校验三步走,先查发证可信否。
域名有效期对得上,再查吊销有没有。
锁标域名要看清,安全上网不用愁!”