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
我正在使用以下代码连接 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