Python 3.6 SSL: CERTIFICATE_VERIFY_FAILED

Python 3.6 SSL: CERTIFICATE_VERIFY_FAILED

我正在使用以下代码连接 labeeb-iot 代理。

import paho.mqtt.client as mqtt
import ssl

def on_connect(client, userdata, flags, rc):
  print("Connected with result code "+str(rc))
  client.subscribe("/focus/temp/SEnsor1/Model1/Temperature/data")

def on_message(client, userdata, msg):
  print(msg.payload.decode())

client = mqtt.Client()
client.on_connect = on_connect
client.on_message = on_message

client.tls_set("/etc/ssl/certs/ca-certificates.crt", certfile=None, keyfile=None, cert_reqs=ssl.CERT_REQUIRED,tls_version=ssl.PROTOCOL_TLSv1_2, ciphers=None)

client.tls_insecure_set(False)

client.connect("mea.labeeb-iot.com",8883,60)

client.loop_forever()

执行以下代码后,结果为:

经纪人的证书于今年 5 月 26 日到期。

您可以使用以下命令验证这一点:

openssl s_client -verify 2  -connect mea.labeeb-iot.com:8883 -CAfile /etc/ssl/certs/ca-certificates.crt

这将打印如下内容:

depth=0 C = QA, ST = Qatar, L = Doha, O = Qatar Mobility Innovations Center (QMIC), CN = *.labeeb-iot.com notAfter=May 26 12:24:38 2017 GMT verify return:1