From 5fffeddf79d5ee2360d1b3911de096ca62c1593d Mon Sep 17 00:00:00 2001 From: Aditya Patwardhan Date: Mon, 4 Sep 2023 09:00:03 +0530 Subject: [PATCH] feat(esp_http_client): Added support for OTA using ds peripheral for TLS --- components/esp_http_client/esp_http_client.c | 8 +++++++- components/esp_http_client/include/esp_http_client.h | 3 +++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/components/esp_http_client/esp_http_client.c b/components/esp_http_client/esp_http_client.c index 59273915eca..756f0a4af0f 100644 --- a/components/esp_http_client/esp_http_client.c +++ b/components/esp_http_client/esp_http_client.c @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: 2015-2022 Espressif Systems (Shanghai) CO LTD + * SPDX-FileCopyrightText: 2015-2023 Espressif Systems (Shanghai) CO LTD * * SPDX-License-Identifier: Apache-2.0 */ @@ -722,6 +722,12 @@ esp_http_client_handle_t esp_http_client_init(const esp_http_client_config_t *co } #endif +#if CONFIG_ESP_TLS_USE_DS_PERIPHERAL + if (config->ds_data != NULL) { + esp_transport_ssl_set_ds_data(ssl, config->ds_data); + } +#endif + if (config->client_key_pem) { if (!config->client_key_len) { esp_transport_ssl_set_client_key_data(ssl, config->client_key_pem, strlen(config->client_key_pem)); diff --git a/components/esp_http_client/include/esp_http_client.h b/components/esp_http_client/include/esp_http_client.h index e1dbd5c8f1c..74ccd24ac69 100644 --- a/components/esp_http_client/include/esp_http_client.h +++ b/components/esp_http_client/include/esp_http_client.h @@ -160,6 +160,9 @@ typedef struct { #if CONFIG_ESP_TLS_USE_SECURE_ELEMENT bool use_secure_element; /*!< Enable this option to use secure element */ #endif +#if CONFIG_ESP_TLS_USE_DS_PERIPHERAL + void *ds_data; /*!< Pointer for digital signature peripheral context, see ESP-TLS Documentation for more details */ +#endif } esp_http_client_config_t; /**