diff --git a/components/tcp_transport/include/esp_transport_ssl.h b/components/tcp_transport/include/esp_transport_ssl.h index ff3f9d6231..4d53d4d2e5 100644 --- a/components/tcp_transport/include/esp_transport_ssl.h +++ b/components/tcp_transport/include/esp_transport_ssl.h @@ -141,6 +141,16 @@ void esp_transport_ssl_skip_common_name_check(esp_transport_handle_t t); */ void esp_transport_ssl_use_secure_element(esp_transport_handle_t t); + +/** + * @brief Set the ds_data handle in ssl context.(used for the digital signature operation) + * + * @param t ssl transport + * ds_data the handle for ds data params + */ + +void esp_transport_ssl_set_ds_data(esp_transport_handle_t t, void *ds_data); + /** * @brief Set PSK key and hint for PSK server/client verification in esp-tls component. * Important notes: diff --git a/components/tcp_transport/transport_ssl.c b/components/tcp_transport/transport_ssl.c index 29c29f8562..6fbbcdbb96 100644 --- a/components/tcp_transport/transport_ssl.c +++ b/components/tcp_transport/transport_ssl.c @@ -303,6 +303,14 @@ static int ssl_get_socket(esp_transport_handle_t t) return -1; } +void esp_transport_ssl_set_ds_data(esp_transport_handle_t t, void *ds_data) +{ + transport_ssl_t *ssl = esp_transport_get_context_data(t); + if (t && ssl) { + ssl->cfg.ds_data = ds_data; + } +} + esp_transport_handle_t esp_transport_ssl_init(void) { esp_transport_handle_t t = esp_transport_init();