Как открыть аутентификацию tls на IBM CLOUD в режиме приложения - PullRequest
0 голосов
/ 25 сентября 2018

Я использую ibm cloud в качестве брокера mqtt, а устройство - raspberry pi 3. И я уже установил соединение для аутентификации TLS в режиме устройства.Но я не знаю, как открыть такое соединение в режиме приложения.

В режиме SECURE моя программа не работает:

    host='orgid.messaging.internetofthings.ibmcloud.com'
    clientid='a:orgid:appid'
    username='xxx'
    password='yyy'
    client=mqtt.Client(clientid)
    client.username_pw_set(username,password)
    client.on_connect = on_connect
    client.on_message = on_message
    client.connect(host, 1883, 60)
    client.loop_start()
But when I tried to use the following code to apply TLS, the server refused me.By the way such code works well in device mode.


    client.tls_set(ca_certs="a",certfile="b",keyfile="c"
    ,cert_reqs=ssl.CERT_NONE)
    client.connect(host,8883, 60)

1 Ответ

0 голосов
/ 26 сентября 2018

Я исправил проблему:

caFile ='message.pem'
client.tls_set(ca_certs='message.pem',cert_reqs=ssl.CERT_NONE)

Ссылка: https://github.com/ibm-watson-iot/iot-python/blob/master/samples/deviceDataTransformation/subscribe_notifications.py

...