小编dig*_*emy的帖子

当 ssl 设置看起来没问题时,为什么我在 Python 中得到 [SSL: CERTIFICATE_VERIFY_FAILED]?

我正在开发一个 Python 应用程序,通过安全的 websocket 协议与在本地主机上运行的服务进行通信。这是一个示例代码:

import json
import asyncio
import websockets
import ssl
import certifi


ssl_context = ssl.create_default_context()
ssl_context.load_verify_locations(certifi.where())
ssl_context.load_default_certs()

query =  {
    "jsonrpc": "2.0",
    "method": "queryHeadsets",
    "params": {},
    "id": 1
    }
json = json.dumps(query)

async def query(json):

    async with websockets.connect("wss://emotivcortex.com:54321") as ws:
        await ws.send(json)
        response = await ws.recv()
        print(response)

asyncio.get_event_loop().run_until_complete(query(json))
Run Code Online (Sandbox Code Playgroud)

问题是 ssl 握手不断失败并出现以下错误:

ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1056)
Run Code Online (Sandbox Code Playgroud)

我运行的是 Windows 10,Python 3.7.3 64 位

$pip list
Package    Version
---------- --------
certifi …
Run Code Online (Sandbox Code Playgroud)

python ssl ssl-certificate websocket

2
推荐指数
1
解决办法
3940
查看次数

标签 统计

python ×1

ssl ×1

ssl-certificate ×1

websocket ×1