eclipse-threadx / netxduo

Eclipse ThreadX - NetXDuo is an advanced, industrial-grade TCP/IP network stack designed specifically for deeply embedded real-time and IoT applications
https://github.com/eclipse-threadx/rtos-docs/blob/main/rtos-docs/netx-duo/index.md
MIT License
230 stars 131 forks source link

TLS crypto method "NX_CRYPTO_NONE" issue #230

Open Kim-Wurtz opened 6 months ago

Kim-Wurtz commented 6 months ago

We have since sometime during Fall 2023 not been able to connect our embedded devices, using the Azure RTOS / NetX Duo and ADU service, to connect to our IoTHub. They all fails during the initial TLS handshake. Up until sometime during the Fall 2023 they all worked without any issues, so clearly something has changed on the Azure IoTHub side.

I have narrowed the issue down to supported TLS crypto methods. During initialization of the ADU agent the function:

_nx_azure_iot_hub_client_initialize(...)_

is called where one of the parameters is:

__nx_azure_iot_tls_supported_crypto_

which is a _NX_CRYPTO_METHOD_ structure containing the supported crypto methods.

If this structure contains an entry defined as _NX_CRYPTO_NONE_ the devices are not able to connect. If I remove this method from the crypto methods structure they are all then able to connect.

Is there anything we can do on the IoTHub side (configuration etc.) to have all our already deployed devices connect again, or is it expected behavior when one on the crypto methods is set to _NX_CRYPTO_NONE_?

As now they are all unreachable via ADU service for updating the firmware

They are all deployed with NetX Duo version 6.1.11