gpt4 book ai didi

python - 如何信任 setuptools 的证书

转载 作者:太空宇宙 更新时间:2023-11-03 14:27:23 25 4
gpt4 key购买 nike

为了使用 setuptools Python v3.6.x 从我的 Nexus 存储库下载工件,我费了好大劲才弄清楚如何让我的根 CA 和中间 CA 受信任。

大多数(如果不是全部)关于此的答案都建议绕过 SSL。这对我来说不是一个选择,也是一个巨大的安全失误。此外,据我所知,setuptools 没有任何内置配置选项来允许这样做而无需专门为其编码。

最佳答案

免责声明:这就是我如何让它工作的。这不是最终的解决方案,我也不认为应该是。恕我直言,setuptools 应该是可配置的,或者工作方式与它不同。如果您有不同的解决方案,请发布!

这需要阅读文件 ssl_support.py 中的设置工具代码。对于我的情况,我需要两个证书都是可信的。以下重要信息:

#setuptools/ssl_support.py
...
cert_paths = """
/etc/pki/tls/certs/ca-bundle.crt
/etc/ssl/certs/ca-certificates.crt
/usr/share/ssl/certs/ca-bundle.crt
/usr/local/share/certs/ca-root.crt
/etc/ssl/cert.pem
/System/Library/OpenSSL/certs/cert.pem
/usr/local/share/certs/ca-root-nss.crt
/etc/ssl/ca-bundle.pem
""".strip().split()
...
def find_ca_bundle():
"""Return an existing CA bundle path, or None"""
extant_cert_paths = filter(os.path.isfile, cert_paths)
return (
get_win_certfile()
or next(extant_cert_paths, None)
or _certifi_where()
)

文件路径的硬编码列表是现存过滤按顺序并用作urllib.request.build_opener调用的参数以发出请求。您需要找到第一个 现有文件路径并将您的证书添加到该文件。在我的例子中,它是 /etc/ssl/certs/ca-certificates.crt

关于python - 如何信任 setuptools 的证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55854847/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com