You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

python-mbedtls带中级证书的TLS连接失败问题排查

基于python-mbedtls的中级证书认证TLS通信问题排查

问题描述

用python-mbedtls搭建仅服务器通过中级证书认证的TLS客户端与服务端,无中级证书时通信正常,添加中级证书后客户端抛出证书验证失败错误:

mbedtls.exceptions.TLSError: TLSError([0x2700] 'X509 - Certificate verification failed, e.g. CRL, CA or signature check failed')

已查阅项目测试用例,需排查该错误原因以完成加密通信。

排查方向

  • 检查服务端证书链配置:服务端需发送完整的证书链(服务器证书 + 中级证书),且顺序正确(通常先服务器证书,后中级证书)。python-mbedtls服务端上下文需传入包含完整链的证书文件,不能仅传入服务器证书。
  • 验证客户端信任锚:客户端必须信任根证书,而非中级证书。证书验证逻辑是从服务器证书向上追溯至信任的根证书,若客户端仅导入中级证书,会导致链无法闭合。
  • 确认证书签发链路有效性:用openssl x509 -in intermediate.pem -text -noout和openssl x509 -in server.pem -text -noout检查:中级证书是否由根证书签发,服务器证书是否由中级证书签发,证书有效期是否在当前时间范围内,主体、颁发者字段是否匹配。
  • 检查mbedtls上下文配置:确保客户端未禁用证书链验证相关参数,服务端已正确加载完整证书链而非单张证书。
  • 排查证书格式:确认所有证书为标准PEM格式,无缺失-----BEGIN CERTIFICATE-----/-----END CERTIFICATE-----标记或多余字符。

内容的提问来源于stack exchange,提问作者scrapp

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 11:12:44