SSL: certificate_verify_failed с использованием Google Assistant SDK

Я пытаюсь запустить образец sdk помощника Google на pi, но после получения URL-адреса авторизации с помощью

google-oauthlib-tool --client-secrets /home/pi/client_secret_<my-id>.json --scope https://www.googleapis.com/auth/assistant-sdk-prototype --save --headless

Я ввожу код с предоставленного URL-адреса и получаю этот дамп:

Traceback (most recent call last):
  File "/home/pi/env/lib/python3.4/site-packages/urllib3/connectionpool.py", line 600, in urlopen
    chunked=chunked)
  File "/home/pi/env/lib/python3.4/site-packages/urllib3/connectionpool.py", line 345, in _make_request
    self._validate_conn(conn)
  File "/home/pi/env/lib/python3.4/site-packages/urllib3/connectionpool.py", line 844, in _validate_conn
    conn.connect()
  File "/home/pi/env/lib/python3.4/site-packages/urllib3/connection.py", line 326, in connect
    ssl_context=context)
  File "/home/pi/env/lib/python3.4/site-packages/urllib3/util/ssl_.py", line 325, in ssl_wrap_socket
    return context.wrap_socket(sock, server_hostname=server_hostname)
  File "/usr/lib/python3.4/ssl.py", line 364, in wrap_socket
    _context=self)
  File "/usr/lib/python3.4/ssl.py", line 577, in __init__
    self.do_handshake()
  File "/usr/lib/python3.4/ssl.py", line 804, in do_handshake
    self._sslobj.do_handshake()
ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:600)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/pi/env/lib/python3.4/site-packages/requests/adapters.py", line 440, in send
    timeout=timeout
  File "/home/pi/env/lib/python3.4/site-packages/urllib3/connectionpool.py", line 630, in urlopen
    raise SSLError(e)
urllib3.exceptions.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:600)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/pi/env/bin/google-oauthlib-tool", line 11, in <module>
    sys.exit(main())
  File "/home/pi/env/lib/python3.4/site-packages/click/core.py", line 722, in __call__
    return self.main(*args, **kwargs)
  File "/home/pi/env/lib/python3.4/site-packages/click/core.py", line 697, in main
    rv = self.invoke(ctx)
  File "/home/pi/env/lib/python3.4/site-packages/click/core.py", line 895, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/pi/env/lib/python3.4/site-packages/click/core.py", line 535, in invoke
    return callback(*args, **kwargs)
  File "/home/pi/env/lib/python3.4/site-packages/google_auth_oauthlib/tool/__main__.py", line 106, in main
    creds = flow.run_console()
  File "/home/pi/env/lib/python3.4/site-packages/google_auth_oauthlib/flow.py", line 358, in run_console
    self.fetch_token(code=code)
  File "/home/pi/env/lib/python3.4/site-packages/google_auth_oauthlib/flow.py", line 235, in fetch_token
    **kwargs)
  File "/home/pi/env/lib/python3.4/site-packages/requests_oauthlib/oauth2_session.py", line 221, in fetch_token
    verify=verify, proxies=proxies)
  File "/home/pi/env/lib/python3.4/site-packages/requests/sessions.py", line 560, in post
    return self.request('POST', url, data=data, json=json, **kwargs)
  File "/home/pi/env/lib/python3.4/site-packages/requests_oauthlib/oauth2_session.py", line 360, in request
    headers=headers, data=data, **kwargs)
  File "/home/pi/env/lib/python3.4/site-packages/requests/sessions.py", line 513, in request
    resp = self.send(prep, **send_kwargs)
  File "/home/pi/env/lib/python3.4/site-packages/requests/sessions.py", line 623, in send
    r = adapter.send(request, **kwargs)
  File "/home/pi/env/lib/python3.4/site-packages/requests/adapters.py", line 514, in send
    raise SSLError(e, request=request)
requests.exceptions.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:600)

Я проверил этот пост у которого была аналогичная проблема, и он соответственно обновил мои часы, но это, похоже, не проблема. Я повторно загрузил все библиотеки и инструменты и убедился, что Python обновлен, но я не могу заставить это работать. Есть ли решение этой проблемы?

Также стоит отметить, что одна и та же трассировка происходит независимо от того, что я ввел в качестве кода авторизации, даже просто ввод «x» дает тот же результат.


person nlin    schedule 02.06.2017    source источник
comment
Вы можете перепроверить свое текущее время?   -  person proppy    schedule 02.06.2017
comment
pi@raspberrypi:~ $ date Fri 2 Jun 14:05:13 EDT 2017 Вроде работает нормально   -  person nlin    schedule 02.06.2017
comment
Вы можете еще раз проверить, что у вас установлен пакет ca-certificates?   -  person proppy    schedule 07.06.2017
comment
Вы также можете попробовать: env/bin/python -c "import requests; print(requests.get('https://www.google.com').status_code)"   -  person proppy    schedule 07.06.2017
comment
На самом деле я смог исправить это, переключившись с raspbian на сервер ubuntu с рабочим столом xubuntu (хотя теперь звук не работает). Я подозреваю, что это был плохой .json   -  person nlin    schedule 09.06.2017
comment
Я столкнулся с той же проблемой, время правильное, и установлен пакет ca-certificates. после того, как я попробую: env/bin/python -c импортировать запросы; print(requests.get('google.com').status_code), получил ту же ошибку .   -  person Teresa    schedule 28.06.2017


Ответы (1)


Я следовал инструкциям на https://developers.google.com/assistant/sdk/develop/python/run-sample, но я думаю, что эти инструкции забыли шаг:

sudo apt-get установить portaudio19-dev libffi-dev libssl-dev

Выполнение этого, а затем повторный запуск google-oauthlib-tool сработали.

person Graham Toal    schedule 22.07.2017