证书链
验证信任路径
证书链 是 CoddyKit 上的免费 Cyber Security Academy 课时。 这是第 3 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Cyber Security Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Cyber Security Academy 课程共包含 4 节课。
什么是证书链
证书链(或信任链)是按顺序排列的证书列表,它将服务器的叶证书连接到受信任的根证书。
每张证书都由其上一级证书签署。
三个链接
典型的证书链包含三个部分:
- 叶证书(终端实体),用于实际的服务器。
- 签署叶证书的中间证书。
- 签署中间证书的根证书。
验证如何沿证书链进行
验证时,客户端会逐级向上检查每个签名:
- 根证书的公钥验证中间证书。
- 中间证书的公钥验证叶证书。
如果每个签名都验证通过,并最终到达受信任的根证书,则证书链有效。
检查实时证书链
您可以使用 OpenSSL 的 s_client 查看服务器提供的证书链。
openssl s_client -connect example.com:443 -showcerts签发者与主体的链接
证书链通过匹配字段进行链接:一个证书的签发者等于其上级证书的主体。
openssl x509 -in leaf.pem -noout -issuer -subject缺失中间证书问题
一个非常常见的错误是服务器只发送自己的叶证书,却忘记了中间证书。
这样一来,一些客户端就无法构建通往根证书的路径,并报告不受信任的证书,即使从技术上讲所有内容都有效。
构建完整证书链
服务器应发送叶证书和所有中间证书(但通常不发送根证书,因为客户端已经拥有根证书)。
这个组合文件通常称为 fullchain.pem。
cat leaf.pem intermediate.pem > fullchain.pem根据根证书进行验证
您可以提供受信任的根证书,在本地验证证书链。
openssl verify -CAfile root.pem -untrusted intermediate.pem leaf.pem路径验证规则
验证不只是检查签名。客户端还会检查:
- 每个证书都在其有效日期范围内。
- 证书链未被吊销。
- CA 证书在基本约束中设置了CA 标志。
- 遵守密钥用途和名称约束。
交叉签名
有时,新根证书尚未在所有地方都受到信任。交叉签名允许一个较早且广泛受信任的根证书同时签署新的中间证书。
这样会创建多条有效路径,从而改善与旧设备的兼容性。
证书链为何失效
证书链常见的失效原因包括:
- 缺失中间证书
- 路径中任意位置的证书已过期
- 证书链文件中的顺序错误
- 不受信任或不再受信任的根证书
快速检查
服务器只提供自己的叶证书,而一些客户端报告该证书不受信任。最可能的原因是什么?
总结
您了解了证书链如何通过中间证书,将叶证书连接到受信任的根证书。
- 验证会沿证书链进行,检查每个签名、日期和吊销状态。
- 服务器应发送完整证书链,以避免因缺失中间证书而出错。
- 交叉签名可以改善兼容性。
接下来,我们将介绍管理证书的运维任务。
常见问题解答
「证书链」课时是免费的吗?
是的 — 「证书链」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Cyber Security Academy 课程的其余内容,请升级到 CoddyKit PRO。 Cyber Security Academy 课程共包含 4 节课。
「证书链」这节课中我会学到什么?
验证信任路径 你通过在浏览器中直接运行的动手代码来练习 Cyber Security Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Cyber Security Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Cyber Security Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 4 节。
「证书链」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Cyber Security Academy 课中编写并运行代码吗?
能。每节 Cyber Security Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。