Требуется ли PEM вместо ключа при указании открытого ключа в mqttc.tls_set? - PullRequest
0 голосов
/ 11 апреля 2019

Я пытаюсь создать вещь в AWS IOT.Я создал объект в учетной записи AWS, но я не прикрепил к нему никаких правил.Я создал сертификаты и скачал их

1) Частный сертификат - который заканчивается ключом 2) Открытый сертификат - который заканчивается ключом 3) Корневой CA - сертификат, и я использовал - CA 1, рекомендованный AWS.

Теперь, в моем коде -

Я использую

mqttc.tls_set(CA_ROOT_CERT_FILE, certfile=THING_CERT_FILE,
              keyfile=THING_PRIVATE_KEY, cert_reqs=ssl.CERT_REQUIRED,
              tls_version=ssl.PROTOCOL_TLSv1_2, ciphers=None)

Но я получаю следующую проблему -

File "/usr/local/lib/python2.7/dist-packages/paho/mqtt/client.py", line 764, in tls_set
    context.load_cert_chain(certfile, keyfile)
ssl.SSLError: [SSL] PEM lib (_ssl.c:2584)

Я пыталсяизменить расширение, но все равно не удается.В качестве фона я использую python 2.7 и здесь использую pyopenssl.Я что-то упускаю при настройке AWS-IOT?

Я ожидаю публикации сообщения в AWS-IOT.Я подписываюсь на тему и хочу ее использовать.

Мое имя хоста - "a3p01azi7xqox0-ats.iot.us-east-2.amazonaws.com" Нужно ли добавлять суффикс имени хоста к arn?:

...