SSL: certificate_verify_failed 使用 Google Assistant SDK

标签 ssl raspberry-pi google-assistant-sdk

我正在尝试让 google assistant sdk 示例在 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)

我检查了this post它有类似的问题并相应地更新了我的时钟,但这似乎不是问题所在。我已经重新下载了所有的库和工具,并确保 python 是最新的,但我无法让它工作。这个问题有解决办法吗?

同样值得注意的是,无论我输入什么作为授权码,都会发生同样的跟踪,即使只是输入“x”也会产生相同的输出。

最佳答案

我按照 https://developers.google.com/assistant/sdk/develop/python/run-sample 上的说明进行操作但我认为这些说明忘记了步骤:

sudo apt-get install portaudio19-dev libffi-dev libssl-dev

这样做然后重新运行 google-oauthlib-tool 就成功了。

关于SSL: certificate_verify_failed 使用 Google Assistant SDK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44333131/

相关文章:

python - Tkinter Focus 不工作 - 需要按钮键盘根据焦点输入 2 个不同的条目

python - WIFI Pineapple Nano 和 RPi GPIO

java - 让我的 Google 助理针对特定单词调用我的 REST API

php - 使用 Php Stomp 使用 Ssl 的 ActiveMq 问题

python - 同时运行 Pythons Tornado 服务 ssl 和不安全的 sl

ssl - 尽管启用了 Keep-Alive 和 session 标识符/票证,仍进行多次 SSL/TLS 握手

java - 将 HttpClient 与 SSL 和证书结合使用

c - 为什么在用 gcc 编译后一个值消失了?

android - 从 Android 应用程序向 Google 智能助理(特别是智能助理,而不是任何其他搜索方法)发送命令

python - Raspberry pi B3 上的 Google 助理无法启动