gsutil ssl.SSLError:[Errno 185090050]

时间:2015-08-06 00:07:34

标签: python ssl google-cloud-storage gsutil

我正在尝试让gsutil在我的计算机上工作,但它总是因以下错误而失败:

ssl.SSLError: [Errno 185090050] _ssl.c:358: error:0B084002:x509 certificate routines:X509_load_cert_crl_file:system lib

对于其他python应用程序,有很多关于此错误的帖子,其中解决方案涉及编辑源代码。如果源代码是问题,那么gsutil开发人员需要了解它,但他们不会宣传用户如何发布错误。

我可能在安装gsutil时犯了一个错误。也许我需要获得证书并进行设置?但我不知道该怎么做。

我确实通过在.boto文件中禁用服务器身份验证来解决这个问题。但是为了安全起见,我更愿意进行身份验证。

希望有些人可以帮助我解决这个问题。

2 个答案:

答案 0 :(得分:2)

部分更新将解决问题

方法1 如果你使用gsutil源,那么

仅更新httplib2包 https://github.com/httplib2/httplib2

或者

仅更新httplib2包中的证书 https://github.com/httplib2/httplib2/blob/master/python2/httplib2/cacerts.txt

方法2

将系统证书指定给boto.xt文件 https://github.com/fout/fout/blob/master/review/google_snippet_status/templates/boto.xt

https_validate_certificates = True
ca_certificates_file = /etc/ssl/certs/ca-bundle.crt

参考:http://boto.cloudhackers.com/en/latest/boto_config_tut.html

**注意:** 就我而言: 如果我使用类似“ca_certificates_file = system”的系统,则会出现一些套接字错误

    Caught socket error, retrying: [Errno 185090050] _ssl.c:330: error:0B084002:x509 certificate routines:X509_load_cert_crl_file:system lib
Retrying request to url <https://www.googleapis.com/storage/v1/b/adx-rtb-freakout-vd/o?   projection=full&prettyPrint=True&versions=False&fields=prefixes%2CnextPageToken%2Citems%2Fname&prefix=snippet_status&maxResults=500&delimiter=%2F&alt=json> after  connection break.
Caught socket error, retrying: [Errno 185090050] _ssl.c:330: error:0B084002:x509 certificate routines:X509_load_cert_crl_file:system lib

在连接中断后重试网址https://www.googleapis.com/storage/v1/b/adx-rtb-freakout-vd/o?projection=full&prettyPrint=True&versions=False&fields=prefixes%2CnextPageToken%2Citems%2Fname&prefix=snippet_status&maxResults=500&delimiter=%2F&alt=json的请求。

注意: 最佳使用最新的gsutil和Python 2.7.X

答案 1 :(得分:-1)

我今天在编写Web应用程序时在Linux机器上遇到了这个问题。值得一提的是,这是我的解决方案:

chmod a+r /usr/lib/python2.7/site-packages/httplib2-0.9.2-py2.7.egg/httplib2/cacerts.txt