如何定位pip所使用的CA证书包?
pip证书存储路径疑问
pip官方文档指出:
默认情况下,pip会对其通过HTTPS建立的网络连接执行SSL证书验证,以此防止软件包下载过程中的中间人攻击。此验证不使用系统证书存储,而是使用来自certifi的内置CA证书存储。
然而,全新安装的Python环境中可能不存在certifi:
% docker run -it --rm python:3.10 bash root@067205989d2e:/# python -m certifi /usr/local/bin/python: No module named certifi
但此时pip仍在使用某个证书存储,且该存储路径可能与certifi模块提供的路径不同,请问该路径是什么?
当系统中未单独安装certifi模块时,pip使用的是自身包内携带的CA证书文件,常规路径为:pip/_vendor/certifi/cacert.pem
你可以通过以下命令获取pip的安装目录,进而确认具体路径:
pip show pip | grep Location
进入该目录后,找到_vendor/certifi/cacert.pem文件即可。
另外,也可以直接执行pip debug --verbose命令,在输出内容中查找CA bundle相关条目,直接获取证书文件的完整路径。
内容的提问来源于stack exchange,提问作者greatvovan
相关产品推荐
相关产品推荐

