diff --git a/include/psa/crypto_struct.h b/include/psa/crypto_struct.h index 0b49a217e5..be89f289f8 100644 --- a/include/psa/crypto_struct.h +++ b/include/psa/crypto_struct.h @@ -395,6 +395,12 @@ static inline psa_key_lifetime_t psa_get_key_lifetime( static inline void psa_set_key_usage_flags( psa_key_attributes_t *attributes, psa_key_usage_t usage_flags ) { + if( usage_flags & PSA_KEY_USAGE_SIGN_HASH ) + usage_flags |= PSA_KEY_USAGE_SIGN_MESSAGE; + + if( usage_flags & PSA_KEY_USAGE_VERIFY_HASH ) + usage_flags |= PSA_KEY_USAGE_VERIFY_MESSAGE; + attributes->MBEDTLS_PRIVATE(core).MBEDTLS_PRIVATE(policy).MBEDTLS_PRIVATE(usage) = usage_flags; }