Add key_derivation_input_integer function
Signed-off-by: Kusumit Ghoderao <Kusumit.Ghoderao@silabs.com>
This commit is contained in:
parent
bcf2f66a11
commit
50e0e11213
1 changed files with 49 additions and 0 deletions
|
@ -6481,6 +6481,47 @@ exit:
|
|||
return status;
|
||||
}
|
||||
|
||||
static psa_status_t psa_key_derivation_input_integer_internal(
|
||||
psa_key_derivation_operation_t *operation,
|
||||
psa_key_derivation_step_t step,
|
||||
uint64_t value)
|
||||
{
|
||||
psa_status_t status;
|
||||
psa_algorithm_t kdf_alg = psa_key_derivation_get_kdf_alg(operation);
|
||||
|
||||
#if defined(BUILTIN_ALG_ANY_HKDF)
|
||||
if (PSA_ALG_IS_ANY_HKDF(kdf_alg)) {
|
||||
status = PSA_ERROR_INVALID_ARGUMENT;
|
||||
} else
|
||||
#endif /* BUILTIN_ALG_ANY_HKDF */
|
||||
#if defined(MBEDTLS_PSA_BUILTIN_ALG_TLS12_PRF)
|
||||
if (PSA_ALG_IS_TLS12_PRF(kdf_alg)) {
|
||||
status = PSA_ERROR_INVALID_ARGUMENT;
|
||||
} else
|
||||
#endif /* MBEDTLS_PSA_BUILTIN_ALG_TLS12_PRF */
|
||||
#if defined(MBEDTLS_PSA_BUILTIN_ALG_TLS12_PSK_TO_MS)
|
||||
if (PSA_ALG_IS_TLS12_PSK_TO_MS(kdf_alg)) {
|
||||
status = PSA_ERROR_INVALID_ARGUMENT;
|
||||
} else
|
||||
#endif /* MBEDTLS_PSA_BUILTIN_ALG_TLS12_PSK_TO_MS */
|
||||
#if defined(MBEDTLS_PSA_BUILTIN_ALG_TLS12_ECJPAKE_TO_PMS)
|
||||
if (kdf_alg == PSA_ALG_TLS12_ECJPAKE_TO_PMS) {
|
||||
status = PSA_ERROR_INVALID_ARGUMENT;
|
||||
} else
|
||||
#endif /* MBEDTLS_PSA_BUILTIN_ALG_TLS12_ECJPAKE_TO_PMS */
|
||||
{
|
||||
/* This can't happen unless the operation object was not initialized */
|
||||
(void) value;
|
||||
(void) kdf_alg;
|
||||
return PSA_ERROR_BAD_STATE;
|
||||
}
|
||||
|
||||
if (status != PSA_SUCCESS) {
|
||||
psa_key_derivation_abort(operation);
|
||||
}
|
||||
return status;
|
||||
}
|
||||
|
||||
psa_status_t psa_key_derivation_input_bytes(
|
||||
psa_key_derivation_operation_t *operation,
|
||||
psa_key_derivation_step_t step,
|
||||
|
@ -6492,6 +6533,14 @@ psa_status_t psa_key_derivation_input_bytes(
|
|||
data, data_length);
|
||||
}
|
||||
|
||||
psa_status_t psa_key_derivation_input_integer(
|
||||
psa_key_derivation_operation_t *operation,
|
||||
psa_key_derivation_step_t step,
|
||||
uint64_t value)
|
||||
{
|
||||
return psa_key_derivation_input_integer_internal(operation, step, value);
|
||||
}
|
||||
|
||||
psa_status_t psa_key_derivation_input_key(
|
||||
psa_key_derivation_operation_t *operation,
|
||||
psa_key_derivation_step_t step,
|
||||
|
|
Loading…
Reference in a new issue