Hi rocotocloc & Anthony,
There are two different types of "Certificate Bundles."
The first is the standard, RFC-compliant format - a simple list of certificates - as Anthony described in his reply. This is the preferred and official method.
The second is Espressif’s (more specifically, mbedTLS’s) custom, proprietary format used exclusively in the ESP-IDF. This format is generated at build time using the gen_crt_bundle.py Python script, located here:
https://github.com/espressif/esp-idf/tr … crt_bundle
Given the error message, I assume this is the Certificate Bundle method you are referring to?
We added support for this Espressif-style Certificate Bundle to wolfSSL last year:
https://github.com/wolfSSL/wolfssl/pull/7936
And just this week, we added improved support for PlatformIO Certificate Bundles:
https://github.com/wolfSSL/wolfssl/pull/8847
Currently, some minor modifications to the ESP-IDF are needed to properly link wolfSSL with the esp-tls library when using Certificate Bundle support. These changes can be found in my fork here:
https://github.com/gojimmypi/esp-idf/tree/my_531
I still need to submit a pull request upstream to add this support to the official Espressif releases. The branch above targets ESP-IDF v5.3.1. Unless otherwise requested, my first PR will aim to port the changes to the latest master (v5.5).
If this is for a commercial product, please feel free to contact us at support [at] wolfssl.com and/or open a GitHub issue.
Thank you for your interest in wolfSSL,
Jim
Edit: for reference here are the files changed between my ESP-IDF branch and upstream:
$ git diff --name-only c8fc5f6 041cd42
.github/workflows/release_zips.yml
.gitignore
README.md
components/esp-tls/CMakeLists.txt
components/esp-tls/Kconfig
components/esp-tls/esp-tls-crypto/esp_tls_crypto.c
components/esp-tls/esp_tls.c
components/esp-tls/esp_tls.h
components/esp-tls/esp_tls_wolfssl.c
components/esp-tls/private_include/esp_tls_private.h
components/esp-tls/private_include/esp_tls_wolfssl.h
components/esp_http_client/esp_http_client.c
components/tcp_transport/transport_ssl.c
package.json
version.txt