Error de lanzamiento de SSL 185090050 durante la autenticación a través de Oauth

Estoy intentando usar el Oauth de Google para conectarme a Google Adsense y recibo este error. ¿Alguna pista para arreglarlo?

¿Alguien ha enfrentado este problema antes en Python?

Traceback (most recent call last): File "get_all_saved_reports.py", line 56, in  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 

Recibí este error x509 exacto en oauth2 (para la API de Twitter, no Google) con Python 2.7.5 y utilicé el consejo de Akshay Valsa y cambié los permisos en cacerts.txt con

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

Eso solucionó el problema y ahora puedo ejecutar mi módulo como un usuario normal en lugar de ejecutarlo. ¡Gracias!

Este problema es mientras se cargan los archivos de certificados. Si ejecuta el progtwig con un usuario root, este problema se resolverá. O puede verificar los permisos del archivo: /usr/local/lib/python2.7/dist-packages/httplib2-0.8-py2.7.egg/httplib2/cacerts.txt, y proporcionar el permiso necesario para este archivo.

En mi caso estaba ejecutando el servidor de desarrollo Django. Si el servidor se ejecutó antes de cambiar al entorno virtual, encontré [Errno 185090050] _ssl.c: 345: error: 0B084002: x509 rutinas de certificado: X509_load_cert_crl_file: lib del sistema en mi rastreo. En pocas palabras, ya no estaba ejecutando la versión de httplib2 que creó los certificados: probablemente estaba ejecutando el paquete dist. (Ububtu 13.10), Python 2.7, Django 1.62. Espero que esto ayude a otros.

Me di cuenta de la solución. Google OAuth es una locura de entender y tuve que ejecutar el script como sudo / root por primera vez. Eso funciono. También asegúrese de que los privilegios están establecidos correctamente.