[英]How to get easy_install to ignore certifcate
我们的网络安装不是最好的,所以我需要告诉通过ssl进行通信的应用程序忽略证书。 不得不用NPM等做同样的事情所以现在当我跑...
$ easy_install pip
...
Download error on https://pypi.python.org/simple/pip/: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590) -- Some packages may not be found!
那么我该如何关闭此验证呢?
PS我知道这是一个安全载体,但幽默我。
我相信你的easy_install最终会转到setuptools,它有自己的SSL帮助器。 在我的Linux上,它位于/usr/lib/python2.7/site-packages/setuptools/ssl_support.py。 基本上有两种方式:
我建议获取证书并手动添加它,您将在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 """.strip().split()
只需将您的证书附加到其中任何一个。 请参阅此处如何使用openssl s_client 获取证书 : 使用openssl从服务器获取证书
进一步了解一下,您可以在setuptools帮助程序中完全禁用SSL验证。 ssl_support.py中的以下几行引起了我的注意:
try: import ssl except ImportError: ssl = None
我刚刚添加了ssl = None,所以:
try: import ssl except ImportError: ssl = None ssl = None
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.