derive_output test: Adapt for HKDF-Extract/Expand algs
Signed-off-by: Przemek Stekiel <przemyslaw.stekiel@mobica.com>
This commit is contained in:
parent
17520fe2c5
commit
ead1bb9987
1 changed files with 10 additions and 3 deletions
|
@ -7087,9 +7087,12 @@ void derive_output( int alg_arg,
|
|||
goto exit;
|
||||
break;
|
||||
default:
|
||||
PSA_ASSERT( psa_key_derivation_input_bytes(
|
||||
TEST_EQUAL( psa_key_derivation_input_bytes(
|
||||
&operation, steps[i],
|
||||
inputs[i]->x, inputs[i]->len ) );
|
||||
inputs[i]->x, inputs[i]->len ), statuses[i] );
|
||||
|
||||
if( statuses[i] != PSA_SUCCESS )
|
||||
goto exit;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -7102,6 +7105,10 @@ void derive_output( int alg_arg,
|
|||
if( derive_type == 1 ) // output key
|
||||
{
|
||||
psa_status_t expected_status = PSA_ERROR_NOT_PERMITTED;
|
||||
size_t bits = 48; // default for Mix-PSK-to-MS
|
||||
|
||||
if( PSA_ALG_IS_HKDF_EXTRACT( alg ) || PSA_ALG_IS_HKDF_EXPAND( alg ))
|
||||
bits = PSA_HASH_LENGTH( alg );
|
||||
|
||||
/* For output key derivation secret must be provided using
|
||||
input key, otherwise operation is not permitted. */
|
||||
|
@ -7111,7 +7118,7 @@ void derive_output( int alg_arg,
|
|||
psa_set_key_usage_flags( &attributes4, PSA_KEY_USAGE_EXPORT );
|
||||
psa_set_key_algorithm( &attributes4, alg );
|
||||
psa_set_key_type( &attributes4, PSA_KEY_TYPE_DERIVE );
|
||||
psa_set_key_bits( &attributes4, 48 );
|
||||
psa_set_key_bits( &attributes4, bits );
|
||||
|
||||
TEST_EQUAL( psa_key_derivation_output_key( &attributes4, &operation,
|
||||
&derived_key ), expected_status );
|
||||
|
|
Loading…
Reference in a new issue