From f5fedf1e0da991a4818f65205980ced47a86cf74 Mon Sep 17 00:00:00 2001 From: Kusumit Ghoderao Date: Wed, 3 May 2023 12:29:48 +0530 Subject: [PATCH] Add pbkdf2 to psa_key_derivation_abort Signed-off-by: Kusumit Ghoderao --- library/psa_crypto.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/library/psa_crypto.c b/library/psa_crypto.c index 849bb95a6..a289895c4 100644 --- a/library/psa_crypto.c +++ b/library/psa_crypto.c @@ -5094,6 +5094,25 @@ psa_status_t psa_key_derivation_abort(psa_key_derivation_operation_t *operation) sizeof(operation->ctx.tls12_ecjpake_to_pms.data)); } else #endif /* defined(MBEDTLS_PSA_BUILTIN_ALG_TLS12_ECJPAKE_TO_PMS) */ +#if defined(MBEDTLS_PSA_BUILTIN_ALG_PBKDF2_HMAC) + if (PSA_ALG_IS_PBKDF2_HMAC(kdf_alg)) { + if (operation->ctx.pbkdf2.input_cost != 0U) { + operation->ctx.pbkdf2.input_cost = 0U; + } + if (operation->ctx.pbkdf2.salt != NULL) { + mbedtls_platform_zeroize(operation->ctx.pbkdf2.salt, + operation->ctx.pbkdf2.salt_length); + mbedtls_free(operation->ctx.pbkdf2.salt); + } + if (operation->ctx.pbkdf2.password != NULL) { + mbedtls_platform_zeroize(operation->ctx.pbkdf2.password, + operation->ctx.pbkdf2.password_length); + mbedtls_free(operation->ctx.pbkdf2.password); + } + + status = PSA_SUCCESS; + } else +#endif /* defined(MBEDTLS_PSA_BUILTIN_ALG_PBKDF2_HMAC) */ { status = PSA_ERROR_BAD_STATE; }