Skip to content

Commit 1a96049

Browse files
Make the key_policy test function more flexible
1 parent 4151094 commit 1a96049

File tree

2 files changed

+19
-8
lines changed

2 files changed

+19
-8
lines changed

tests/suites/test_suite_psa_crypto.data

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -342,8 +342,17 @@ PSA import RSA public key: maximum size exceeded
342342
depends_on:MBEDTLS_PK_PARSE_C:MBEDTLS_RSA_C
343343
import_rsa_made_up:PSA_VENDOR_RSA_MAX_KEY_BITS+8:0:PSA_ERROR_NOT_SUPPORTED
344344

345-
PSA key policy set and get
346-
key_policy:PSA_KEY_USAGE_ENCRYPT:PSA_ALG_CBC_NO_PADDING
345+
PSA key policy: AES
346+
depends_on:MBEDTLS_AES_C
347+
check_key_policy:PSA_KEY_TYPE_AES:128:PSA_KEY_USAGE_ENCRYPT:PSA_ALG_CBC_NO_PADDING
348+
349+
PSA key policy: ECC SECP256R1, sign
350+
depends_on:MBEDTLS_ECP_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED
351+
check_key_policy:PSA_KEY_TYPE_ECC_KEY_PAIR( PSA_ECC_CURVE_SECP256R1 ):256:PSA_KEY_USAGE_SIGN_HASH:PSA_ALG_ECDSA_ANY
352+
353+
PSA key policy: ECC SECP256R1, sign+verify
354+
depends_on:MBEDTLS_ECP_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED
355+
check_key_policy:PSA_KEY_TYPE_ECC_KEY_PAIR( PSA_ECC_CURVE_SECP256R1 ):256:PSA_KEY_USAGE_SIGN_HASH | PSA_KEY_USAGE_VERIFY_HASH:PSA_ALG_ECDSA_ANY
347356

348357
Key attributes initializers zero properly
349358
key_attributes_init:

tests/suites/test_suite_psa_crypto.function

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1635,27 +1635,29 @@ exit:
16351635
/* END_CASE */
16361636

16371637
/* BEGIN_CASE */
1638-
void key_policy( int usage_arg, int alg_arg )
1638+
void check_key_policy( int type_arg, int bits_arg,
1639+
int usage_arg, int alg_arg )
16391640
{
16401641
psa_key_handle_t handle = 0;
1642+
psa_key_type_t key_type = type_arg;
1643+
size_t bits = bits_arg;
16411644
psa_algorithm_t alg = alg_arg;
16421645
psa_key_usage_t usage = usage_arg;
1643-
psa_key_type_t key_type = PSA_KEY_TYPE_AES;
1644-
unsigned char key[32] = {0};
16451646
psa_key_attributes_t attributes = PSA_KEY_ATTRIBUTES_INIT;
16461647

1647-
memset( key, 0x2a, sizeof( key ) );
1648-
16491648
PSA_ASSERT( psa_crypto_init( ) );
16501649

16511650
psa_set_key_usage_flags( &attributes, usage );
16521651
psa_set_key_algorithm( &attributes, alg );
16531652
psa_set_key_type( &attributes, key_type );
1653+
psa_set_key_bits( &attributes, bits );
16541654

1655-
PSA_ASSERT( psa_import_key( &attributes, key, sizeof( key ), &handle ) );
1655+
PSA_ASSERT( psa_generate_key( &attributes, &handle ) );
1656+
psa_reset_key_attributes( &attributes );
16561657

16571658
PSA_ASSERT( psa_get_key_attributes( handle, &attributes ) );
16581659
TEST_EQUAL( psa_get_key_type( &attributes ), key_type );
1660+
TEST_EQUAL( psa_get_key_bits( &attributes ), bits );
16591661
TEST_EQUAL( psa_get_key_usage_flags( &attributes ), usage );
16601662
TEST_EQUAL( psa_get_key_algorithm( &attributes ), alg );
16611663

0 commit comments

Comments
 (0)