cancel
Showing results for 
Search instead for 
Did you mean: 

mbedtls vs wolfssl

RafaelS
Associate III

Hello!

I need to set up an STM32H745 to make an HTTPS request. In the last few weeks, I have configured LWIP using this example (https://community.st.com/t5/stm32-mcus/how-to-create-a-project-for-stm32h7-with-ethernet-and-lwip-stack/ta-p/49308) and set up the code for making PATCH requests to a server over HTTP

(https://community.st.com/t5/stm32-mcus-embedded-software/http-client-lwip-stm32h745-disco/m-p/766598#M59443).

 

Yesterday, I began exploring which options are better for HTTPS communication.

I've seen that there are two main options: mbedtls and wolfSSL.

 

Mbedtls is integrated by default in STM32CubeMX (6.13.0). The version of mbedtls in CubeMX is 2.16.2, while the latest version on the mbedtls website is 3.6.2. Could it be that mbedtls is no longer supported?

On the other hand, the version of wolfSSL available for download in CubeMX is 5.7.4, and the latest version on the wolfSSL website is 5.7.6. It is more up-to-date.

 

Besides these considerations, I haven't found any recent posts about which option is better or what the advantages of using one over the other might be. Does anyone have any advice on this?

 

Thanks, best regards.

4 REPLIES 4

Both of these are independent 3rd-party products - so not really any specifically to do with ST or STM32.

RafaelS
Associate III

Thanks for the response,

 

I understand that both are third-party products. However, my question is more focused on which of the two options (mbedtls or wolfSSL) would be more suitable for the STM32H745 environment and for implementing HTTPS, considering their integration with STM32CubeMX and ease of use.

 

If anyone has worked with either of these libraries in this context or has experience regarding which might offer better performance, security, or ease of integration, I would greatly appreciate any insights.

 

Thanks in advance, best regards!

Hello @RafaelS ,

As mentioned by  @Andrew Neil  those libraries are independent third-party crypto libraries.

But from my own experience MbedTLS is widely used in a variety of STM32 products you will find more implementations using MbedTLS with STM32 Products you can find examples implementing MbedTLS for SSL client and server here STM32CubeH7/Projects/STM32H743I-EVAL/Applications/mbedTLS at master · STMicroelectronics/STM32CubeH7

Regards

In order to give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
Danish1
Lead III

As I understand things, WolfSSL has a more restrictive license, in that your final product must be open-source OR you pay their license fee (not cheap).

Depending whether you’re a hobbyist (OK with open-source), small business (might have difficulty justifying license) or large business with large order book (can easily justify license fee and would welcome their support) this might influence your decision.