中间 CA 的作用
中间 CA 由根 CA 签发,承担日常签发任务,使根私钥可以离线保存。它的约束写在扩展里:必须是 CA 类型,并可用路径长度限制层级。中间证书可能过期、被替换或被交叉签名,是链断裂排查中的高频对象。典型事故是服务器证书还没到期,但服务端仍在发送旧的中间证书,客户端因此报链无效。
基本信息
| 作用 | 隔离根私钥:根只签中间,中间签发终端证书 |
|---|---|
| 约束 | CA 标志为真,可用路径长度限制层级 |
| 风险点 | 中间证书过期或被替换后,未更新链文件即校验失败 |
| 交叉签名 | 新根尚未普及时,用旧根为同一公钥再签一份 |
典型使用场景
- 构建自建 PKI:规划根与中间的两层结构
- 排错:叶证书未到期但校验失败时检查链上的中间证书
- 中间证书更新:替换链文件中的中间段
- 根迁移:用交叉签名保证旧客户端仍可验证
- 巡检:把链上每张证书都纳入到期监控
检查链中的中间证书
检查链中的中间证书
openssl s_client -connect example.com:443 -servername example.com -showcerts </dev/null 2>&1 | grep -E 's:|i:' | head -12
openssl s_client -connect example.com:443 -servername example.com </dev/null 2>/dev/null | openssl x509 -noout -issuer -dates
openssl x509 -in intermediate.pem -noout -subject -issuer -dates -ext basicConstraints层级分工
| 层级 | 职责 | 密钥保管 |
|---|---|---|
| 根 CA | 签发中间 CA | 离线保存 |
| 中间 CA | 签发终端证书 | 受控环境,按用途拆分 |
| 终端证书 | 对外提供服务 | 随服务部署 |
中间证书过期属于典型事故:服务器证书本身没到期,但服务端仍在发送旧链,客户端报的是链验证失败,只盯着叶证书会找不到问题。
落地建议
- 把链上每张证书都纳入到期监控
- 中间证书更新后用真实握手验证
- 按用途拆分多个中间 CA,缩小影响范围
- 根私钥离线保存,签发动作留痕
中间 CA 的私钥一旦泄露,可以签发任何被客户端信任的证书;它必须比终端证书受到更严格的访问控制与审计,不能与业务系统部署在一起。