mirror of
https://github.com/Mbed-TLS/mbedtls.git
synced 2025-04-09 21:44:28 +00:00
Replace AES_CMAC_128_PRF_OUTPUT_SIZE with PSA_MAC_LENGTH()
Signed-off-by: Kusumit Ghoderao <Kusumit.Ghoderao@silabs.com>
This commit is contained in:
parent
9ab03c3d72
commit
a12e2d53bd
@ -276,9 +276,6 @@
|
||||
* This is a vendor-specific macro. This can be configured if necessary */
|
||||
#define PSA_VENDOR_PBKDF2_MAX_ITERATIONS 0xffffffff
|
||||
|
||||
/* Output size of AES_CMAC_PRF_128 algorithm */
|
||||
#define PSA_AES_CMAC_PRF_128_OUTPUT_SIZE 16
|
||||
|
||||
/** The maximum size of a block cipher. */
|
||||
#define PSA_BLOCK_CIPHER_BLOCK_MAX_SIZE 16
|
||||
|
||||
|
@ -5611,7 +5611,7 @@ static psa_status_t psa_key_derivation_pbkdf2_read(
|
||||
psa_set_key_type(&attributes, PSA_KEY_TYPE_HMAC);
|
||||
} else if (kdf_alg == PSA_ALG_PBKDF2_AES_CMAC_PRF_128) {
|
||||
prf_alg = PSA_ALG_CMAC;
|
||||
prf_output_length = PSA_AES_CMAC_PRF_128_OUTPUT_SIZE;
|
||||
prf_output_length = PSA_MAC_LENGTH(PSA_KEY_TYPE_AES, 128U, PSA_ALG_CMAC);
|
||||
psa_set_key_type(&attributes, PSA_KEY_TYPE_AES);
|
||||
} else {
|
||||
return PSA_ERROR_INVALID_ARGUMENT;
|
||||
@ -6177,7 +6177,7 @@ static psa_status_t psa_key_derivation_setup_kdf(
|
||||
if (kdf_alg == PSA_ALG_TLS12_ECJPAKE_TO_PMS) {
|
||||
hash_size = PSA_HASH_LENGTH(PSA_ALG_SHA_256);
|
||||
} else if (kdf_alg == PSA_ALG_PBKDF2_AES_CMAC_PRF_128) {
|
||||
hash_size = PSA_AES_CMAC_PRF_128_OUTPUT_SIZE;
|
||||
hash_size = PSA_MAC_LENGTH(PSA_KEY_TYPE_AES, 128U, PSA_ALG_CMAC);
|
||||
} else {
|
||||
if (hash_size == 0) {
|
||||
return PSA_ERROR_NOT_SUPPORTED;
|
||||
@ -6730,23 +6730,25 @@ static psa_status_t psa_pbkdf2_cmac_set_password(const uint8_t *input,
|
||||
size_t *output_len)
|
||||
{
|
||||
psa_status_t status = PSA_SUCCESS;
|
||||
if (input_len != PSA_AES_CMAC_PRF_128_OUTPUT_SIZE) {
|
||||
if (input_len != PSA_MAC_LENGTH(PSA_KEY_TYPE_AES, 128U, PSA_ALG_CMAC)) {
|
||||
psa_key_attributes_t attributes = PSA_KEY_ATTRIBUTES_INIT;
|
||||
uint8_t zeros[16] = { 0 };
|
||||
psa_set_key_type(&attributes, PSA_KEY_TYPE_AES);
|
||||
psa_set_key_bits(&attributes, PSA_BYTES_TO_BITS(sizeof(zeros)));
|
||||
psa_set_key_usage_flags(&attributes, PSA_KEY_USAGE_SIGN_MESSAGE);
|
||||
/* Passing PSA_AES_CMAC_PRF_128_OUTPUT_SIZE as mac_size as the driver
|
||||
* function sets mac_output_length = mac_size on success. See #7801*/
|
||||
/* Passing PSA_MAC_LENGTH(PSA_KEY_TYPE_AES, 128U, PSA_ALG_CMAC) as
|
||||
* mac_size as the driver function sets mac_output_length = mac_size */
|
||||
status = psa_driver_wrapper_mac_compute(&attributes,
|
||||
zeros, sizeof(zeros),
|
||||
PSA_ALG_CMAC, input, input_len,
|
||||
output,
|
||||
PSA_AES_CMAC_PRF_128_OUTPUT_SIZE,
|
||||
PSA_MAC_LENGTH(PSA_KEY_TYPE_AES,
|
||||
128U,
|
||||
PSA_ALG_CMAC),
|
||||
output_len);
|
||||
} else {
|
||||
memcpy(output, input, input_len);
|
||||
*output_len = PSA_AES_CMAC_PRF_128_OUTPUT_SIZE;
|
||||
*output_len = PSA_MAC_LENGTH(PSA_KEY_TYPE_AES, 128U, PSA_ALG_CMAC);
|
||||
}
|
||||
return status;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user