From bca99ee0ac871e555452f3959d78eaf892bbb870 Mon Sep 17 00:00:00 2001 From: Neil Armstrong Date: Fri, 4 Mar 2022 10:20:20 +0100 Subject: [PATCH] Add PSA key in mbedtls_ssl_cookie_ctx Signed-off-by: Neil Armstrong --- include/mbedtls/ssl_cookie.h | 4 ++++ library/ssl_cookie.c | 6 ++++++ 2 files changed, 10 insertions(+) diff --git a/include/mbedtls/ssl_cookie.h b/include/mbedtls/ssl_cookie.h index 34452aae6e..b39c09a965 100644 --- a/include/mbedtls/ssl_cookie.h +++ b/include/mbedtls/ssl_cookie.h @@ -53,6 +53,10 @@ extern "C" { */ typedef struct mbedtls_ssl_cookie_ctx { +#if defined(MBEDTLS_USE_PSA_CRYPTO) + mbedtls_svc_key_id_t MBEDTLS_PRIVATE(psa_hmac); /*!< key id for the HMAC portion */ + psa_algorithm_t MBEDTLS_PRIVATE(psa_hmac_alg); /*!< key algorithm for the HMAC portion */ +#endif /* MBEDTLS_USE_PSA_CRYPTO */ mbedtls_md_context_t MBEDTLS_PRIVATE(hmac_ctx); /*!< context for the HMAC portion */ #if !defined(MBEDTLS_HAVE_TIME) unsigned long MBEDTLS_PRIVATE(serial); /*!< serial number for expiration */ diff --git a/library/ssl_cookie.c b/library/ssl_cookie.c index 358169e876..9f27a87cfe 100644 --- a/library/ssl_cookie.c +++ b/library/ssl_cookie.c @@ -68,6 +68,9 @@ void mbedtls_ssl_cookie_init( mbedtls_ssl_cookie_ctx *ctx ) { +#if defined(MBEDTLS_USE_PSA_CRYPTO) + ctx->psa_hmac = MBEDTLS_SVC_KEY_ID_INIT; +#endif /* MBEDTLS_USE_PSA_CRYPTO */ mbedtls_md_init( &ctx->hmac_ctx ); #if !defined(MBEDTLS_HAVE_TIME) ctx->serial = 0; @@ -86,6 +89,9 @@ void mbedtls_ssl_cookie_set_timeout( mbedtls_ssl_cookie_ctx *ctx, unsigned long void mbedtls_ssl_cookie_free( mbedtls_ssl_cookie_ctx *ctx ) { +#if defined(MBEDTLS_USE_PSA_CRYPTO) + psa_destroy_key( ctx->psa_hmac ); +#endif /* MBEDTLS_USE_PSA_CRYPTO */ mbedtls_md_free( &ctx->hmac_ctx ); #if defined(MBEDTLS_THREADING_C)