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?

asked 7 months ago217 views
1 Answer
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
EXPERT
Greg_B
answered 7 months ago
  • 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

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions