From a46776ad02c8b46578848d782bc7b487dc6bdcab Mon Sep 17 00:00:00 2001 From: Alexander Klassen Date: Fri, 25 Feb 2022 02:05:01 +0100 Subject: [PATCH] Add WolfSSL esp_tls TLS1.3 configuration option Closes https://github.com/espressif/esp-idf/issues/8313 --- components/esp-tls/esp_tls_wolfssl.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/components/esp-tls/esp_tls_wolfssl.c b/components/esp-tls/esp_tls_wolfssl.c index 08dca316d4..6114c6e100 100644 --- a/components/esp-tls/esp_tls_wolfssl.c +++ b/components/esp-tls/esp_tls_wolfssl.c @@ -168,7 +168,13 @@ exit: static esp_err_t set_client_config(const char *hostname, size_t hostlen, esp_tls_cfg_t *cfg, esp_tls_t *tls) { int ret = WOLFSSL_FAILURE; + +#ifdef WOLFSSL_TLS13 + tls->priv_ctx = (void *)wolfSSL_CTX_new(wolfTLSv1_3_client_method()); +#else tls->priv_ctx = (void *)wolfSSL_CTX_new(wolfTLSv1_2_client_method()); +#endif + if (!tls->priv_ctx) { ESP_LOGE(TAG, "Set wolfSSL ctx failed"); ESP_INT_EVENT_TRACKER_CAPTURE(tls->error_handle, ESP_TLS_ERR_TYPE_WOLFSSL, ret); @@ -310,7 +316,13 @@ static esp_err_t set_client_config(const char *hostname, size_t hostlen, esp_tls static esp_err_t set_server_config(esp_tls_cfg_server_t *cfg, esp_tls_t *tls) { int ret = WOLFSSL_FAILURE; + +#ifdef WOLFSSL_TLS13 + tls->priv_ctx = (void *)wolfSSL_CTX_new(wolfTLSv1_3_server_method()); +#else tls->priv_ctx = (void *)wolfSSL_CTX_new(wolfTLSv1_2_server_method()); +#endif + if (!tls->priv_ctx) { ESP_LOGE(TAG, "Set wolfSSL ctx failed"); return ESP_ERR_WOLFSSL_CTX_SETUP_FAILED;