麻线在哪里寻找证书?

时间:2018-11-29 20:50:43

标签: python centos7 twine pypiserver

我有一个使用https设置的个人Python存储库,并且可以使用以下命令将其上传到其中:

twine upload <dist> -r <my_server> --cert <path/to/certfile>

但是,我希望能够上传而不必显式指定CA证书位置。我相信我已经在系统的正确位置安装了CA证书(使用How to add Certificate Authority in centos7?作为指导,并使用wget进行了验证),但是我仍然必须调出原始路径。

默认情况下,如何使麻线使用备用CA证书?

2 个答案:

答案 0 :(得分:2)

Twine依赖于请求,而请求又依赖于Certifi(https://certifi.io/,它实际上是从Requests中提取的),并且Certifi只会查看并仔细查看自己的“ 精心策划的根证书集合” ”,默认情况下:

>>> import certifi

>>> certifi.where()
'/usr/local/lib/python2.7/site-packages/certifi/cacert.pem'

与SSL有所不同。

您可以将TWINE_CERTREQUESTS_CA_BUNDLE环境变量设置为CA证书的路径,前者仅会影响Twine,后者将影响依赖于请求的任何内容。

答案 1 :(得分:1)

运行以下命令以确定Python在哪里寻找您的CA证书:

>>> import ssl
>>> ssl.get_default_verify_paths().capath
/usr/local/etc/openssl/certs

然后将您的自定义证书放在该目录中。

相关问题