SSL throwing error 185090050 while authentication via Oauth

夙愿已清 提交于 2019-11-28 00:14:22

问题


I am trying use Google's Oauth to connect to Google adsense and am getting this error. Any clues to fix it?

Anyone has faced such a issue before in python?

    Traceback (most recent call last):
    File "get_all_saved_reports.py", line 56, in <module>
      main(sys.argv)
    File "get_all_saved_reports.py", line 36, in main
        service = sample_utils.initialize_service()
    File "/home/nish/Programs/python/google-adsense/samples/adsense/sample_utils.py", line 114, in initialize_service
        credentials = prepare_credentials()
    File "/home/nish/Programs/python/google-adsense/samples/adsense/sample_utils.py", line 95, in prepare_credentials
        credentials = run(FLOW, storage)
      File "/usr/local/lib/python2.7/dist-packages/oauth2client-1.1-py2.7.egg/oauth2client/util.py", line 128, in positional_wrapper
        return wrapped(*args, **kwargs)
      File "/usr/local/lib/python2.7/dist-packages/oauth2client-1.1-py2.7.egg/oauth2client/tools.py", line 197, in run
        credential = flow.step2_exchange(code, http=http)
      File "/usr/local/lib/python2.7/dist-packages/oauth2client-1.1-py2.7.egg/oauth2client/util.py", line 128, in positional_wrapper
        return wrapped(*args, **kwargs)
      File "/usr/local/lib/python2.7/dist-packages/oauth2client-1.1-py2.7.egg/oauth2client/client.py", line 1283, in step2_exchange
        headers=headers)
      File "/usr/local/lib/python2.7/dist-packages/httplib2-0.8-py2.7.egg/httplib2/__init__.py", line 1571, in request
        (response, content) = self._request(conn, authority, uri, request_uri, method, body, headers, redirections, cachekey)
      File "/usr/local/lib/python2.7/dist-packages/httplib2-0.8-py2.7.egg/httplib2/__init__.py", line 1318, in _request
        (response, content) = self._conn_request(conn, request_uri, method, body, headers)
      File "/usr/local/lib/python2.7/dist-packages/httplib2-0.8-py2.7.egg/httplib2/__init__.py", line 1253, in _conn_request
        conn.connect()
      File "/usr/local/lib/python2.7/dist-packages/httplib2-0.8-py2.7.egg/httplib2/__init__.py", line 1022, in connect
        self.disable_ssl_certificate_validation, self.ca_certs)
      File "/usr/local/lib/python2.7/dist-packages/httplib2-0.8-py2.7.egg/httplib2/__init__.py", line 80, in _ssl_wrap_socket
    cert_reqs=cert_reqs, ca_certs=ca_certs)
  File "/usr/lib/python2.7/ssl.py", line 381, in wrap_socket
    ciphers=ciphers)
  File "/usr/lib/python2.7/ssl.py", line 141, in __init__
    ciphers)
ssl.SSLError: [Errno 185090050] _ssl.c:340: error:0B084002:x509 certificate routines:X509_load_cert_crl_file:system lib

回答1:


I was getting this exact x509 error in oauth2 (for Twitter API, not Google) with Python 2.7.5 and used Akshay Valsa's advice and changed the permissions on cacerts.txt with

chmod 644 /usr/local/lib/python2.7/dist-packages/httplib2-0.8-py2.7.egg/httplib2/cacerts.txt

That fixed the problem and I can now run my module as an ordinary user instead of sudoing it. Thanks!




回答2:


This issue is while loading the certificates files.If you run the program with root user this issue will be solved. Or you can check the permissions of the file :/usr/local/lib/python2.7/dist-packages/httplib2-0.8-py2.7.egg/httplib2/cacerts.txt, and provide the necessary permission to this file.




回答3:


In my case I was running the Django development server. If the server was run prior to switching into the virtual environment I found [Errno 185090050] _ssl.c:345: error:0B084002:x509 certificate routines:X509_load_cert_crl_file:system lib in my traceback. Simply put, I was no longer running the version of httplib2 that created the certificates: I was likely running the dist-package. (Ububtu 13.10), Python 2.7, Django 1.62. Hope this helps others.




回答4:


I figured out the solution. The Google OAuth is crazy to understand and I had to run the script as sudo/root for the first time. That worked. Also make sure the privileges are set correctly.



来源:https://stackoverflow.com/questions/15696526/ssl-throwing-error-185090050-while-authentication-via-oauth

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!