我有一个使用https设置的个人Python存储库,我可以使用以下命令上传到其中:
twine upload <dist> -r <my_server> --cert <path/to/certfile>但是,我希望能够在不显式指定CA证书位置的情况下上传。我相信我已经为我的系统在正确的位置安装了CA证书(使用How to add Certificate Authority in centos7?作为指导,并使用wget进行验证),但是我仍然需要调用原始路径。
如何使twine在默认情况下使用备用CA证书?
发布于 2019-10-10 16:25:24
Twine依赖于请求,而后者又依赖于Certifi (https://certifi.io/,实际上是从请求中提取的),而Certifi默认情况下只查找自己的“精心策划的根证书集合”:
>>> import certifi
>>> certifi.where()
'/usr/local/lib/python2.7/site-packages/certifi/cacert.pem'这不同于SSL。
您可以将TWINE_CERT或REQUESTS_CA_BUNDLE环境变量设置为CA证书的路径,前者将仅影响Twine,后者将影响任何依赖于请求的内容。
发布于 2018-12-06 02:14:12
运行以下命令以确定Python在何处查找CA证书:
>>> import ssl
>>> ssl.get_default_verify_paths().capath
/usr/local/etc/openssl/certs然后将您的自定义证书放入该目录。
https://stackoverflow.com/questions/53547374
复制相似问题