You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/en/api-reference/protocols/esp_crt_bundle.rst
+33Lines changed: 33 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -81,6 +81,39 @@ Periodic Sync
81
81
82
82
The bundle is kept updated by periodic sync with the Mozilla's NSS root certificate store. The deprecated certs from the upstream bundle are added to deprecated list (for compatibility reasons) in ESP-IDF minor or patch release. If required, the deprecated certs can be added to the default bundle by enabling :ref:`CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEPRECATED_LIST`. The deprecated certs shall be removed (reset) on the next major ESP-IDF release.
83
83
84
+
Cross-Signed Certificate Support
85
+
---------------------------------
86
+
87
+
Overview
88
+
^^^^^^^^
89
+
90
+
When the configuration option :ref:`CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_CROSS_SIGNED_VERIFY` is enabled,
91
+
the ESP x509 Certificate Bundle API adds support for verifying certificate chains that include cross-signed root certificates.
92
+
This feature allows the verification process to dynamically select candidate Certificate Authorities (CAs) from the bundle,
93
+
even when the certificate chain contains cross-signed roots, improving interoperability with a wider range of server certificates.
94
+
95
+
With this functionality enabled, certificate verification is performed in a manner equivalent to the default mbedTLS behaviour,
96
+
ensuring compatibility and robust validation for cross-signed chains.
97
+
98
+
.. note::
99
+
100
+
Enabling cross-signed certificate support increases run-time heap utilisation by approximately 700 bytes, but reduces the flash footprint as the bundle size is reduced.
101
+
102
+
Key Points:
103
+
- The bundle can act as a dynamic CA store, providing candidate root certificates during the handshake.
104
+
- The verification callback uses the issuer information from the certificate chain to locate and provide matching root certificates from the bundle.
105
+
- This is especially useful for environments where cross-signing is common, such as during root CA transitions.
106
+
107
+
Usage
108
+
^^^^^
109
+
110
+
No additional application changes are required beyond enabling :ref:`CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_CROSS_SIGNED_VERIFY` in your project configuration.
111
+
The bundle will automatically provide candidate CAs during the TLS handshake.
112
+
113
+
.. note::
114
+
115
+
If :ref:`CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_CROSS_SIGNED_VERIFY` is enabled, it internally uses ``MBEDTLS_X509_TRUSTED_CERT_CALLBACK``. In this case, users should **not** provide their own trusted certificate callback, as the certificate bundle will manage this automatically.
0 commit comments