自行生成的X.509证书在Chrome证书查看器中无法正常显示证书层级
自行生成的X.509证书在Chrome证书查看器中无法正常显示层级问题
问题现象
- Chrome浏览器证书查看器无法正常显示证书层级(附截图)
- 双击打开证书后的显示情况(附截图)
- 可获取相关证书压缩包材料
- 从
certmgr中移除TestCASecondLevel后,网站变为不安全状态,CA信息不再显示(附截图)
可能原因分析
1. 证书链不完整
Chrome构建证书层级依赖完整的信任链,若服务器仅返回终端证书,未附带中间CA证书(如TestCASecondLevel),浏览器无法自动回溯到受信任根CA,导致层级显示异常。
2. 证书扩展配置错误
- Basic Constraints扩展:中间CA证书必须设置
CA:TRUE,终端证书需设为CA:FALSE。若中间CA的该扩展配置错误,Chrome无法识别其作为中间签发机构的角色,无法构建层级。 - Key Usage扩展:中间CA证书需启用
Certificate Sign密钥用法,否则浏览器不认可它具备签署下级证书的权限,直接导致信任链断裂。
3. 信任锚点配置问题
TestCASecondLevel被导入certmgr后成为临时信任锚点,移除后若根CA未被添加到Chrome受信任根存储中,整个链失去可信起点,网站直接显示不安全。
排查步骤
检查证书扩展信息
使用openssl x509 -in 证书文件名 -text -noout命令查看每个证书的扩展:- 验证中间CA证书的Basic Constraints是否包含
CA:TRUE - 验证终端证书的Basic Constraints是否为
CA:FALSE - 确认中间CA的Key Usage包含
Certificate Sign
- 验证中间CA证书的Basic Constraints是否包含
验证服务器证书链
执行openssl s_client -connect 域名:端口,查看返回的证书链列表,确认是否包含终端证书及所有中间CA证书。确认根CA信任状态
检查Chrome的受信任根证书存储,确认根CA证书已被正确导入并标记为受信任。
内容的提问来源于stack exchange,提问作者Developer333
相关产品推荐
相关产品推荐

