MQQT over SSL - AZURE

Has anyone had any success connecting their Industruino to Azure IOT Hub or any other resource? Specifically using MQTT

I've hit a brick wall and the problems seem to exist at the SSL level

Output from Serial:

11:22:33.707 -> (SSLClient)(SSL_ERROR)(connected): Not connected because write error is set
11:22:33.707 -> (SSLClient)(SSL_ERROR)(m_print_ssl_error): SSL_BR_WRITE_ERROR

I am utilizing the recent blog post as a starting point and the libraries recommended

Industruino MQTT over SSL | Industruino

I am successful connecting to the Mosquitto services.

It seems to reside at the Trust Anchor level (which is very opaque)

I have tried using Azures Baltimore certificate with their SaS solution

I have tried creating a Self Signed Certificate

I think it should be possible to connect to Azure..

GitHub - Azure/azure-iot-arduino: Azure IoT library for the Arduino This does it with an ESP anyone have insight how that compares to SAMD21g?

Note: that that sdk was created as a port of the c library

Any insight is appreciated

 

 

 

Sentry: Water Monitoring & Control Inc.
Sentry: Water Monitoring & Control Inc.
117
| 4 1 2
Asked on 6/24/21, 2:32 PM
0
vote
1529 Views

hi, i have not worked with Azure, but there must be a way to make it work, following advice such as https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-mqtt-support#using-the-mqtt-protocol-directly-as-a-device i would experiment first from the Mac/Linux command line using mosquitto_pub to find the correct combination of server, port, clientid, username, certificate file. above link seems to say you won't need the SAS token. i assume you have had a look at the certificates at https://github.com/Azure/azure-iot-sdk-c/blob/master/certs/certs.c after this command line instruction is working, you could use the same parameters in the Industruino sketch and convert the certificate

Tom
on 6/28/21, 10:24 AM

Just for future reference, as far as i remember this was resolved by digging into the SSLClient library, which defaults to TLS1.2 only, meaning only a few ciphers are accepted. It may be possible to configure Azure IoT Hub, enforcing TLS1.2, or otherwise the library can be edited to include more ciphers, as mentioned in our blog post now.

Tom
Tom
5675
| 1 1 3
Answered on 8/5/21, 9:25 AM
0
vote

Your answer

Please try to give a substantial answer. If you wanted to comment on the question or answer, just use the commenting tool. Please remember that you can always revise your answers - no need to answer the same question twice. Also, please don't forget to vote - it really helps to select the best questions and answers!

Ask a Question

Keep Informed

About This Forum

This community is for professionals and enthusiasts of our products and services.

Read Guidelines

Question tools

64 follower(s)

Stats

Asked: 6/24/21, 2:32 PM
Seen: 1529 times
Last updated: 8/5/21, 9:25 AM