如何在Twine中禁用SSL证书验证?

6
当我试图将一个新的软件包推送到我们公司的Artifactory时: python -m twine upload --repository-url https:///artifactory/api/pypi/gdp_pypi dist/*
我遇到了一个关于SSL的错误。 ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:841)
有没有办法禁用SSL验证?

1
为什么不修复错误呢? - Alejandro
1
是的,你说得对,我只是将变量REQUESTS_CA_BUNDLE指向我的证书,然后它就可以工作了。 - Oceania Water
这回答解决了你的问题吗?禁用Python请求SSL验证以导入模块 - miken32
3个回答

2

4
这个 Bug 被修复后,这段代码不再起作用了:https://github.com/psf/requests/issues/6071 - adranale

0

按照上面的建议将空字符串设置为默认值似乎不再起作用:

$ export CURL_CA_BUNDLE=""

但是,当我在浏览器中导航到我的组织的Github(证书已安装并正常工作的地方)并下载了链中第一个证书的.crt时,将变量设置为该.crt文件时确实有效。
$ export CURL_CA_BUNDLE="/path/to/cert.crt"

0

使用 "禁用导入模块的Python requests SSL验证" 中描述的 CURL_CA_BUNDLE 解决方法不再有效。

可能的解决方案是使用单独的脚本,可以命名为 twine-trusted ,其中包含以下代码:

import twine.__main__


def disable_server_certificate_validation():
    "Allow twine to just trust the hosts"
    twine.repository.Repository.set_certificate_authority = lambda *args, **kwargs: None


def main():
    disable_server_certificate_validation()
    twine.__main__.main()

__name__ == '__main__' and main()

来源: https://github.com/pypa/twine/pull/463#issuecomment-556892003


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接