2017-07-06 10 views
1

次のコードを使用して、labeeb-iotブローカーと接続しています。次のコードを実行した後のPython 3.6 SSL:CERTIFICATE_VERIFY_FAILED

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() 

結果は次のとおりです。

enter image description here

+0

を私は(LinuxのManjaroを使用していますArchLiux) –

+1

良い質問をすることについてのドキュメントを読んでください。この質問はコードリストと "これは壊れています"という質問で閉じられるべきです。 https://stackoverflow.com/help/how-to-ask – hardillb

+0

また、MQTTのトピックは先頭の '/'で始めるべきではありません。これは、トピック・ツリーの先頭にヌル要素を追加するだけです。 – hardillb

答えて

0

ブローカーの証明書は今年5月26日に失効しました。

次のコマンドを使用して、これを確認することができます

深さ= 0 C = QA、ST =カタール、L =ドーハ、O =カタール:ようなものを出力します

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

モビリティイノベーション センター(QMIC)、CN = * .labeeb-iot.com notAfterの= 5月26日12時24分38秒2017 GMT はリターンを検証:1

+0

それを解決する解決策は何ですか? –

+0

ブローカーが新しい証明書を取得する必要がある人 – hardillb

+0

非常に危険な方法は、tls_insecure_set(True)が何をするかを見ることです。 – BoboDarph