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

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南