twine 在哪里寻找证书?

Bil*_*lly 4 python centos7 pypiserver twine

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

twine upload <dist> -r <my_server> --cert <path/to/certfile>
Run Code Online (Sandbox Code Playgroud)

但是,我希望能够上传而无需显式指定 CA 证书位置。我相信我已将 CA 证书安装在系统的正确位置(使用 如何在 centos7 中添加证书颁发机构?作为指导,并使用 wget 进行验证),但我仍然需要调用原始路径。

如何让 twine 默认使用我的备用 CA 证书?

Met*_*hox 5

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

>>> import certifi

>>> certifi.where()
'/usr/local/lib/python2.7/site-packages/certifi/cacert.pem'
Run Code Online (Sandbox Code Playgroud)

这与 SSL 不同。

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