From c32465cf145932e7e8806063a1bb0ac56e1422a0 Mon Sep 17 00:00:00 2001 From: Bogdan Pilyugin Date: Fri, 1 Sep 2023 12:43:39 +0200 Subject: [PATCH] sha256 hmac moved to helpers --- include/Helpers.h | 5 +++++ src/Helpers.c | 17 +++++++++++++++++ src/SysComm.c | 16 ---------------- 3 files changed, 22 insertions(+), 16 deletions(-) diff --git a/include/Helpers.h b/include/Helpers.h index 23196f9..1836d5e 100644 --- a/include/Helpers.h +++ b/include/Helpers.h @@ -35,6 +35,11 @@ void bin_to_hex_str(const uint8_t *buf, int len, char *hex); void UnencodeURL(char* URL); esp_err_t SHA256Hash(unsigned char *data, int datalen, unsigned char *res); +esp_err_t SHA256hmacHash(unsigned char *data, + int datalen, + unsigned char *key, + int keylen, + unsigned char *res); #if (CONFIG_FREERTOS_USE_TRACE_FACILITY == 1) void vTaskGetRunTimeStatsCustom( char *pcWriteBuffer ); #endif diff --git a/src/Helpers.c b/src/Helpers.c index e2ccaa4..46b1878 100644 --- a/src/Helpers.c +++ b/src/Helpers.c @@ -191,6 +191,23 @@ esp_err_t SHA256Hash(unsigned char *data, int datalen, return ESP_OK; } +esp_err_t SHA256hmacHash(unsigned char *data, + int datalen, + unsigned char *key, + int keylen, + unsigned char *res) +{ + mbedtls_md_context_t ctx; + mbedtls_md_type_t md_type = MBEDTLS_MD_SHA256; + mbedtls_md_init(&ctx); + mbedtls_md_setup(&ctx, mbedtls_md_info_from_type(md_type), 1); + mbedtls_md_hmac_starts(&ctx, key, keylen); + mbedtls_md_hmac_update(&ctx, (const unsigned char*) data, datalen); + mbedtls_md_hmac_finish(&ctx, res); + mbedtls_md_free(&ctx); + return ESP_OK; +} + # if(CONFIG_FREERTOS_USE_TRACE_FACILITY == 1) void vTaskGetRunTimeStatsCustom( char *pcWriteBuffer ) { diff --git a/src/SysComm.c b/src/SysComm.c index db6586c..fb977b7 100644 --- a/src/SysComm.c +++ b/src/SysComm.c @@ -54,22 +54,6 @@ void regCustomPayloadTypeHandler(sys_error_code (*payload_handler)(data_message_ CustomPayloadTypeHandler = payload_handler; } -static esp_err_t SHA256hmacHash(unsigned char *data, - int datalen, - unsigned char *key, - int keylen, - unsigned char *res) -{ - mbedtls_md_context_t ctx; - mbedtls_md_type_t md_type = MBEDTLS_MD_SHA256; - mbedtls_md_init(&ctx); - mbedtls_md_setup(&ctx, mbedtls_md_info_from_type(md_type), 1); - mbedtls_md_hmac_starts(&ctx, key, keylen); - mbedtls_md_hmac_update(&ctx, (const unsigned char*) data, datalen); - mbedtls_md_hmac_finish(&ctx, res); - mbedtls_md_free(&ctx); - return ESP_OK; -} static sys_error_code PayloadType_1_Handler(data_message_t *MSG)