psa_crypto.c: add MBEDTLS_PSA_BUILTIN_ALG_ANY_HKDF macro to limit number of #if conditions
Signed-off-by: Przemek Stekiel <przemyslaw.stekiel@mobica.com>
This commit is contained in:
parent
b088a900f4
commit
75fe3fb1d7
1 changed files with 18 additions and 36 deletions
|
@ -88,6 +88,12 @@
|
||||||
|
|
||||||
#define ARRAY_LENGTH( array ) ( sizeof( array ) / sizeof( *( array ) ) )
|
#define ARRAY_LENGTH( array ) ( sizeof( array ) / sizeof( *( array ) ) )
|
||||||
|
|
||||||
|
#if defined(MBEDTLS_PSA_BUILTIN_ALG_HKDF) || \
|
||||||
|
defined(MBEDTLS_PSA_BUILTIN_ALG_HKDF_EXTRACT) || \
|
||||||
|
defined(MBEDTLS_PSA_BUILTIN_ALG_HKDF_EXPAND)
|
||||||
|
#define MBEDTLS_PSA_BUILTIN_ALG_ANY_HKDF 1
|
||||||
|
#endif
|
||||||
|
|
||||||
/****************************************************************/
|
/****************************************************************/
|
||||||
/* Global data, support functions and library management */
|
/* Global data, support functions and library management */
|
||||||
/****************************************************************/
|
/****************************************************************/
|
||||||
|
@ -4235,17 +4241,13 @@ psa_status_t psa_aead_abort( psa_aead_operation_t *operation )
|
||||||
/* Generators */
|
/* Generators */
|
||||||
/****************************************************************/
|
/****************************************************************/
|
||||||
|
|
||||||
#if defined(MBEDTLS_PSA_BUILTIN_ALG_HKDF) || \
|
#if defined(MBEDTLS_PSA_BUILTIN_ALG_ANY_HKDF) || \
|
||||||
defined(MBEDTLS_PSA_BUILTIN_ALG_HKDF_EXTRACT) || \
|
|
||||||
defined(MBEDTLS_PSA_BUILTIN_ALG_HKDF_EXPAND) || \
|
|
||||||
defined(MBEDTLS_PSA_BUILTIN_ALG_TLS12_PRF) || \
|
defined(MBEDTLS_PSA_BUILTIN_ALG_TLS12_PRF) || \
|
||||||
defined(MBEDTLS_PSA_BUILTIN_ALG_TLS12_PSK_TO_MS)
|
defined(MBEDTLS_PSA_BUILTIN_ALG_TLS12_PSK_TO_MS)
|
||||||
#define AT_LEAST_ONE_BUILTIN_KDF
|
#define AT_LEAST_ONE_BUILTIN_KDF
|
||||||
#endif /* At least one builtin KDF */
|
#endif /* At least one builtin KDF */
|
||||||
|
|
||||||
#if defined(MBEDTLS_PSA_BUILTIN_ALG_HKDF) || \
|
#if defined(MBEDTLS_PSA_BUILTIN_ALG_ANY_HKDF) || \
|
||||||
defined(MBEDTLS_PSA_BUILTIN_ALG_HKDF_EXTRACT) || \
|
|
||||||
defined(MBEDTLS_PSA_BUILTIN_ALG_HKDF_EXPAND) || \
|
|
||||||
defined(MBEDTLS_PSA_BUILTIN_ALG_TLS12_PRF) || \
|
defined(MBEDTLS_PSA_BUILTIN_ALG_TLS12_PRF) || \
|
||||||
defined(MBEDTLS_PSA_BUILTIN_ALG_TLS12_PSK_TO_MS)
|
defined(MBEDTLS_PSA_BUILTIN_ALG_TLS12_PSK_TO_MS)
|
||||||
static psa_status_t psa_key_derivation_start_hmac(
|
static psa_status_t psa_key_derivation_start_hmac(
|
||||||
|
@ -4298,18 +4300,14 @@ psa_status_t psa_key_derivation_abort( psa_key_derivation_operation_t *operation
|
||||||
* nothing to do. */
|
* nothing to do. */
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
#if defined(MBEDTLS_PSA_BUILTIN_ALG_HKDF) || \
|
#if defined(MBEDTLS_PSA_BUILTIN_ALG_ANY_HKDF)
|
||||||
defined(MBEDTLS_PSA_BUILTIN_ALG_HKDF_EXTRACT) || \
|
|
||||||
defined(MBEDTLS_PSA_BUILTIN_ALG_HKDF_EXPAND)
|
|
||||||
if( PSA_ALG_IS_ANY_HKDF( kdf_alg ) )
|
if( PSA_ALG_IS_ANY_HKDF( kdf_alg ) )
|
||||||
{
|
{
|
||||||
mbedtls_free( operation->ctx.hkdf.info );
|
mbedtls_free( operation->ctx.hkdf.info );
|
||||||
status = psa_mac_abort( &operation->ctx.hkdf.hmac );
|
status = psa_mac_abort( &operation->ctx.hkdf.hmac );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
#endif /* MBEDTLS_PSA_BUILTIN_ALG_HKDF ||
|
#endif /* MBEDTLS_PSA_BUILTIN_ALG_ANY_HKDF */
|
||||||
MBEDTLS_PSA_BUILTIN_ALG_HKDF_EXTRACT ||
|
|
||||||
MBEDTLS_PSA_BUILTIN_ALG_HKDF_EXPAND */
|
|
||||||
#if defined(MBEDTLS_PSA_BUILTIN_ALG_TLS12_PRF) || \
|
#if defined(MBEDTLS_PSA_BUILTIN_ALG_TLS12_PRF) || \
|
||||||
defined(MBEDTLS_PSA_BUILTIN_ALG_TLS12_PSK_TO_MS)
|
defined(MBEDTLS_PSA_BUILTIN_ALG_TLS12_PSK_TO_MS)
|
||||||
if( PSA_ALG_IS_TLS12_PRF( kdf_alg ) ||
|
if( PSA_ALG_IS_TLS12_PRF( kdf_alg ) ||
|
||||||
|
@ -4383,9 +4381,7 @@ psa_status_t psa_key_derivation_set_capacity( psa_key_derivation_operation_t *op
|
||||||
return( PSA_SUCCESS );
|
return( PSA_SUCCESS );
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(MBEDTLS_PSA_BUILTIN_ALG_HKDF) || \
|
#if defined(MBEDTLS_PSA_BUILTIN_ALG_ANY_HKDF)
|
||||||
defined(MBEDTLS_PSA_BUILTIN_ALG_HKDF_EXTRACT) || \
|
|
||||||
defined(MBEDTLS_PSA_BUILTIN_ALG_HKDF_EXPAND)
|
|
||||||
/* Read some bytes from an HKDF-based operation. */
|
/* Read some bytes from an HKDF-based operation. */
|
||||||
static psa_status_t psa_key_derivation_hkdf_read( psa_hkdf_key_derivation_t *hkdf,
|
static psa_status_t psa_key_derivation_hkdf_read( psa_hkdf_key_derivation_t *hkdf,
|
||||||
psa_algorithm_t kdf_alg,
|
psa_algorithm_t kdf_alg,
|
||||||
|
@ -4469,9 +4465,7 @@ static psa_status_t psa_key_derivation_hkdf_read( psa_hkdf_key_derivation_t *hkd
|
||||||
|
|
||||||
return( PSA_SUCCESS );
|
return( PSA_SUCCESS );
|
||||||
}
|
}
|
||||||
#endif /* MBEDTLS_PSA_BUILTIN_ALG_HKDF ||
|
#endif /* MBEDTLS_PSA_BUILTIN_ALG_ANY_HKDF */
|
||||||
MBEDTLS_PSA_BUILTIN_ALG_HKDF_EXTRACT ||
|
|
||||||
MBEDTLS_PSA_BUILTIN_ALG_HKDF_EXPAND */
|
|
||||||
|
|
||||||
#if defined(MBEDTLS_PSA_BUILTIN_ALG_TLS12_PRF) || \
|
#if defined(MBEDTLS_PSA_BUILTIN_ALG_TLS12_PRF) || \
|
||||||
defined(MBEDTLS_PSA_BUILTIN_ALG_TLS12_PSK_TO_MS)
|
defined(MBEDTLS_PSA_BUILTIN_ALG_TLS12_PSK_TO_MS)
|
||||||
|
@ -4671,18 +4665,14 @@ psa_status_t psa_key_derivation_output_bytes(
|
||||||
}
|
}
|
||||||
operation->capacity -= output_length;
|
operation->capacity -= output_length;
|
||||||
|
|
||||||
#if defined(MBEDTLS_PSA_BUILTIN_ALG_HKDF) || \
|
#if defined(MBEDTLS_PSA_BUILTIN_ALG_ANY_HKDF)
|
||||||
defined(MBEDTLS_PSA_BUILTIN_ALG_HKDF_EXTRACT) || \
|
|
||||||
defined(MBEDTLS_PSA_BUILTIN_ALG_HKDF_EXPAND)
|
|
||||||
if( PSA_ALG_IS_ANY_HKDF( kdf_alg ) )
|
if( PSA_ALG_IS_ANY_HKDF( kdf_alg ) )
|
||||||
{
|
{
|
||||||
status = psa_key_derivation_hkdf_read( &operation->ctx.hkdf, kdf_alg,
|
status = psa_key_derivation_hkdf_read( &operation->ctx.hkdf, kdf_alg,
|
||||||
output, output_length );
|
output, output_length );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
#endif /* MBEDTLS_PSA_BUILTIN_ALG_HKDF ||
|
#endif /* MBEDTLS_PSA_BUILTIN_ALG_ANY_HKDF */
|
||||||
MBEDTLS_PSA_BUILTIN_ALG_HKDF_EXTRACT ||
|
|
||||||
MBEDTLS_PSA_BUILTIN_ALG_HKDF_EXPAND */
|
|
||||||
#if defined(MBEDTLS_PSA_BUILTIN_ALG_TLS12_PRF) || \
|
#if defined(MBEDTLS_PSA_BUILTIN_ALG_TLS12_PRF) || \
|
||||||
defined(MBEDTLS_PSA_BUILTIN_ALG_TLS12_PSK_TO_MS)
|
defined(MBEDTLS_PSA_BUILTIN_ALG_TLS12_PSK_TO_MS)
|
||||||
if( PSA_ALG_IS_TLS12_PRF( kdf_alg ) ||
|
if( PSA_ALG_IS_TLS12_PRF( kdf_alg ) ||
|
||||||
|
@ -5189,9 +5179,7 @@ psa_status_t psa_key_derivation_setup( psa_key_derivation_operation_t *operation
|
||||||
return( status );
|
return( status );
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(MBEDTLS_PSA_BUILTIN_ALG_HKDF) || \
|
#if defined(MBEDTLS_PSA_BUILTIN_ALG_ANY_HKDF)
|
||||||
defined(MBEDTLS_PSA_BUILTIN_ALG_HKDF_EXTRACT) || \
|
|
||||||
defined(MBEDTLS_PSA_BUILTIN_ALG_HKDF_EXPAND)
|
|
||||||
static psa_status_t psa_hkdf_input( psa_hkdf_key_derivation_t *hkdf,
|
static psa_status_t psa_hkdf_input( psa_hkdf_key_derivation_t *hkdf,
|
||||||
psa_algorithm_t kdf_alg,
|
psa_algorithm_t kdf_alg,
|
||||||
psa_key_derivation_step_t step,
|
psa_key_derivation_step_t step,
|
||||||
|
@ -5314,9 +5302,7 @@ static psa_status_t psa_hkdf_input( psa_hkdf_key_derivation_t *hkdf,
|
||||||
return( PSA_ERROR_INVALID_ARGUMENT );
|
return( PSA_ERROR_INVALID_ARGUMENT );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif /* MBEDTLS_PSA_BUILTIN_ALG_HKDF ||
|
#endif /* MBEDTLS_PSA_BUILTIN_ALG_ANY_HKDF */
|
||||||
MBEDTLS_PSA_BUILTIN_ALG_HKDF_EXTRACT ||
|
|
||||||
MBEDTLS_PSA_BUILTIN_ALG_HKDF_EXPAND */
|
|
||||||
|
|
||||||
#if defined(MBEDTLS_PSA_BUILTIN_ALG_TLS12_PRF) || \
|
#if defined(MBEDTLS_PSA_BUILTIN_ALG_TLS12_PRF) || \
|
||||||
defined(MBEDTLS_PSA_BUILTIN_ALG_TLS12_PSK_TO_MS)
|
defined(MBEDTLS_PSA_BUILTIN_ALG_TLS12_PSK_TO_MS)
|
||||||
|
@ -5582,18 +5568,14 @@ static psa_status_t psa_key_derivation_input_internal(
|
||||||
if( status != PSA_SUCCESS )
|
if( status != PSA_SUCCESS )
|
||||||
goto exit;
|
goto exit;
|
||||||
|
|
||||||
#if defined(MBEDTLS_PSA_BUILTIN_ALG_HKDF) || \
|
#if defined(MBEDTLS_PSA_BUILTIN_ALG_ANY_HKDF)
|
||||||
defined(MBEDTLS_PSA_BUILTIN_ALG_HKDF_EXTRACT) || \
|
|
||||||
defined(MBEDTLS_PSA_BUILTIN_ALG_HKDF_EXPAND)
|
|
||||||
if( PSA_ALG_IS_ANY_HKDF( kdf_alg ) )
|
if( PSA_ALG_IS_ANY_HKDF( kdf_alg ) )
|
||||||
{
|
{
|
||||||
status = psa_hkdf_input( &operation->ctx.hkdf, kdf_alg,
|
status = psa_hkdf_input( &operation->ctx.hkdf, kdf_alg,
|
||||||
step, data, data_length );
|
step, data, data_length );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
#endif /* MBEDTLS_PSA_BUILTIN_ALG_HKDF ||
|
#endif /* MBEDTLS_PSA_BUILTIN_ALG_ANY_HKDF */
|
||||||
MBEDTLS_PSA_BUILTIN_ALG_HKDF_EXTRACT ||
|
|
||||||
MBEDTLS_PSA_BUILTIN_ALG_HKDF_EXPAND */
|
|
||||||
#if defined(MBEDTLS_PSA_BUILTIN_ALG_TLS12_PRF)
|
#if defined(MBEDTLS_PSA_BUILTIN_ALG_TLS12_PRF)
|
||||||
if( PSA_ALG_IS_TLS12_PRF( kdf_alg ) )
|
if( PSA_ALG_IS_TLS12_PRF( kdf_alg ) )
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue