fix(esp-tls): Keep deprecated use_secure_element field for compatibility

Restore the use_secure_element field in esp_tls_cfg_t, esp_tls_cfg_server_t
and httpd_ssl_config_t, and esp_transport_ssl_use_secure_element(), as
deprecated no-ops so that existing code keeps compiling. Setting them now
fails at runtime with ESP_ERR_NOT_SUPPORTED, as the feature is accessed
via the esp_key_config_t interface. To be removed in the next major release.
This commit is contained in:
Aditya Patwardhan
2026-07-15 12:33:55 +05:30
parent 8bf9c476cf
commit 8fe74703bc
8 changed files with 72 additions and 4 deletions

View File

@@ -132,6 +132,12 @@ struct httpd_ssl_config {
/** Enable tls session tickets */
bool session_tickets;
/** @deprecated No longer functional; setting this to true makes server start fail with
* ESP_ERR_NOT_SUPPORTED. Use `server_key` (esp_key_config_t) together with
* CONFIG_MBEDTLS_SECURE_ELEMENT_DRIVER_ENABLED instead. Kept only for source
* compatibility; will be removed in the next major release. */
bool use_secure_element;
/** User callback for esp_https_server */
esp_https_server_user_cb *user_cb;

View File

@@ -352,6 +352,15 @@ static esp_err_t create_secure_context(const struct httpd_ssl_config *config, ht
#endif
}
/* use_secure_element is deprecated and non-functional; it is kept only for
* source compatibility. */
if (config->use_secure_element) {
ESP_LOGE(TAG, "use_secure_element is no longer supported. Use server_key (esp_key_config_t) with "
"CONFIG_MBEDTLS_SECURE_ELEMENT_DRIVER_ENABLED instead. See the ESP-TLS migration guide.");
ret = ESP_ERR_NOT_SUPPORTED;
goto exit;
}
if (config->use_ecdsa_peripheral) {
#ifdef CONFIG_MBEDTLS_HARDWARE_ECDSA_SIGN
(*ssl_ctx)->tls_cfg->use_ecdsa_peripheral = config->use_ecdsa_peripheral;