python paho mqttクライアントを自分の認証局を使ってブローカーに接続しようとしています。必要なファイルを生成し、RabbitMQブローカを使用するように設定しました。私の考えは、クライアントがサーバーを認証するが、クライアント自体は認証する必要がないということです。python paho mqttクライアント接続によるssl/tlsのエラーが発生しました
- ca.cert.pem
- cert.pemを
- key.pem
は、私はまた、正常に動作するScalaのPAHOのMQTTクライアントを持っているので、これらが正常に動作する必要があります知っています。
現在、私は自分のMacの端末から直接ファイルを実行しています。私は、Python 3.5.2で作成されたvirtuanenvを使用していますが、私はまたTLSv1_1
にtls_version
を変更しようとした私は、次のエラー
ssl.SSLEOFError: EOF occurred in violation of protocol (_ssl.c:645)
を受けるファイルを実行すると、私は、ファイルsubscribe.py
import paho.mqtt.client as paho
import ssl
def on_message(clnt, userdata, msg):
print(msg.topic+" "+str(msg.payload))
def on_connect(client, userdata, rc):
print("Connected with result code "+str(rc))
mqttc.subscribe("foo")
mqttc = paho.Client()
mqttc.on_message = on_message
mqttc.on_message = on_message
mqttc.tls_set("ca.cert.pem", tls_version=ssl.PROTOCOL_TLSv1_2)
mqttc.connect("address", 8883, 60)
mqttc.loop_forever()
を持っています、TLSv1
と完全にそれを残す。 ca.cert.pem
はsubscribe.py
ファイルと同じフォルダにあります
パホWebサイトの例はとてもシンプルなので、私はここで何が欠けていますか?私のpythonクライアントでエラーを受け取るのはなぜですか?