SSL:通过Python连接到SignalR时显示CERTIFICATE_VERIFY_FAILED错误

时间:2017-07-27 12:35:53

标签: signalr

来自请求导入会话 来自signalr import Connection 使用Session()作为会话:

connection = Connection("https://localhost:443/Platform", session)

Signalhub = connection.register_hub('MessageRouteHubspot')

连接:

    Signalhub.server.invoke('subscribe','1_FPGA_ACCESS_COMMANDS')

执行此操作时,我收到错误的requests.exceptions。

  

SSLError:[SSL:CERTIFICATE_VERIFY_FAILED]证书验证失败(_ssl.c:590)

如何绕过/忽略SSL验证?

1 个答案:

答案 0 :(得分:0)

Python signalr-client使用WebSocket包来建立连接。然后,WebSocket包使用OpenSSL来执行SSL / TLS。似乎WebSocket客户端需要将客户端CA(证书颁发机构)捆绑包作为环境变量WEBSOCKET_CLIENT_CA_BUNDLE传递。

使用包含签署原始站点证书的证书的CA捆绑包导出此变量应该可以解决问题。下面是我基于Ubuntu的系统的一个例子。

$ export WEBSOCKET_CLIENT_CA_BUNDLE=/etc/ssl/certs/ca-certificates.crt
$ python test-signalr.py