Add certificate bundle capability to WiFiClientSecure #6106
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Enable usage of the ESP32 IDF's certificate bundle for WiFiClientSecure connections.
Adds the ability to load a bundle or root certificates and use them for authenticating SSL servers.
Intends to fulfill the feature request #3646
Impact
The changes impact only the WiFiClientSecure component. Unless the user invokes WiFiClientSecure::setCACertBundle, the behavior of WiFiClientSecure remains identical. If that function is called, and no CA certificate is provided to WiFiClientSecure, then the bundle will be used instead.
The actual certificate bundle parsing and authentication callback functionality is stable, proven ESP IDF code. Only the glue code that connects WiFiClientSecure to the bunde code is bespoke.
New code based on work from Onno-Dirkzwager, Duckle29, kubo6472, meltdown03, kinafu and others in issue 3646.
Related links
https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/protocols/esp_crt_bundle.html
libraries/WiFiClientSecure/README.md