使用Conan安装gtest时报HTTPSConnectionPool SSL校验错误如何处理
报错原因
该报错是Conan客户端在连接conancenter远程仓库时,SSL证书验证失败导致的,结合你提供的环境信息,常见触发原因如下:
- Conan 1.37.0为2021年发布的旧版本,内置的CA根证书bundle版本过低,无法匹配conancenter当前使用的新版SSL证书
- 你当前的网络环境存在代理、防火墙或者安全审计设备,对HTTPS请求做了中间人证书替换,Conan默认不信任该自定义证书
- 此前安装其他依赖时直接调用了本地缓存的包,未触发远程请求,因此没有暴露证书验证问题
解决方案
方案1:配置Conan使用系统根证书(优先尝试)
Conan 1.x默认使用自带的根证书文件,配置为使用系统证书库即可解决证书过旧的问题,执行以下命令:
conan config set general.cacert_path=system
执行完成后重新运行安装命令即可。如果临时测试需要,可通过以下命令关闭SSL验证(不建议长期开启,存在安全风险):
conan config set general.verify_ssl=False
验证网络连通后建议将该配置改回True。
方案2:配置Conan代理参数
如果你在企业、学校等需要代理的网络环境下,需要手动给Conan配置代理信息:
- 打开Conan配置文件,默认路径为
C:\Users\<你的Windows用户名>\.conan\conan.conf - 在
[conf]段落添加对应代理配置:
[conf] http_proxy=http://<代理地址>:<代理端口> https_proxy=http://<代理地址>:<代理端口> # 若代理需要身份认证,补充以下两行 http_proxy_username=<代理用户名> http_proxy_password=<代理密码>
方案3:升级Conan 1.x版本
旧版本Conan的内置证书和SSL兼容能力较差,可升级到Conan 1.x的最新稳定版本(不要直接升级到2.x,大版本语法不兼容会导致现有conanfile失效):
pip install --upgrade conan~=1.0
内容的提问来源于stack exchange,提问作者Xwilarg
相关产品推荐
相关产品推荐

