Trying latest aws iot sdk for C demos, can't establish a TLC connection

0

I have to update my mqtt client application with latest version of aws iot sdk, I tried a demo fouded in the sdk directory (mqtt_demo_basic_tls) i can built it and when executed It shown an error message: [ERROR] [Transport_OpenSSL_Sockets] [openssl_posix.c:280] SSL_connect failed to perform TLS handshake. [ERROR] [Transport_OpenSSL_Sockets] [openssl_posix.c:696] Failed to establish a TLS connection. I'm using broker path a3avgzpu0t174x-ats.iot.eu-central-1.amazonaws.com and default CACERT AmazonRootCA1.crt. what am I doing wrong?

已提问 7 个月前224 查看次数
1 回答
0

Hi. I think it's not obvious when you're new to the C-SDK, but you can't connect to AWS IoT Core using the basic TLS demo. You need to use the mutual auth demo. The basic TLS demo shows that the coreMQTT library can be used with brokers other than AWS IoT Core.

Please check the instructions here for using the mutual auth demo: https://github.com/aws/aws-iot-device-sdk-embedded-C/blob/main/README.md#aws-iot-account-setup

profile pictureAWS
专家
Greg_B
已回答 7 个月前
  • Hi Greg, thank you for responding, I tried mutual auth demo with two different aws server path: xxxxxx-ats.iot.eu-central-1.amazonaws.com with related certificare and key, demo works xxxxxx.iot.eu-central-1.amazonaws.com with related certificare and key but demo doesn't work What could be different? I used the same Root CA (AmazonRootCA1.crt)

  • Hi Gabriele. The two endpoints present different server certificates, so you need a different root CA to validate each. The ATS endpoint is newer, and is what you should use. More information here: https://docs.aws.amazon.com/iot/latest/developerguide/server-authentication.html#endpoint-types

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则