1/* BEGIN_HEADER */
2
3#include "psa/crypto.h"
4#include "test/psa_crypto_helpers.h"
5
6#define INVALID_KEY_ID mbedtls_svc_key_id_make( 0, 0xfedcba98 )
7
8/* END_HEADER */
9
10/* BEGIN_DEPENDENCIES
11 * depends_on:MBEDTLS_PSA_CRYPTO_C
12 * END_DEPENDENCIES
13 */
14
15/* BEGIN_CASE */
16void import_not_supported( int key_type, data_t *key_material )
17{
18    psa_key_attributes_t attributes = PSA_KEY_ATTRIBUTES_INIT;
19    mbedtls_svc_key_id_t key_id = INVALID_KEY_ID;
20
21    PSA_ASSERT( psa_crypto_init( ) );
22    psa_set_key_type( &attributes, key_type );
23    TEST_EQUAL( psa_import_key( &attributes,
24                                key_material->x, key_material->len,
25                                &key_id ),
26                PSA_ERROR_NOT_SUPPORTED );
27    TEST_ASSERT( mbedtls_svc_key_id_equal( key_id, MBEDTLS_SVC_KEY_ID_INIT ) );
28
29exit:
30    psa_destroy_key( key_id );
31    PSA_DONE( );
32}
33/* END_CASE */
34
35/* BEGIN_CASE */
36void generate_not_supported( int key_type, int bits )
37{
38    psa_key_attributes_t attributes = PSA_KEY_ATTRIBUTES_INIT;
39    mbedtls_svc_key_id_t key_id = INVALID_KEY_ID;
40
41    PSA_ASSERT( psa_crypto_init( ) );
42    psa_set_key_type( &attributes, key_type );
43    psa_set_key_bits( &attributes, bits );
44    TEST_EQUAL( psa_generate_key( &attributes, &key_id ),
45                PSA_ERROR_NOT_SUPPORTED );
46    TEST_ASSERT( mbedtls_svc_key_id_equal( key_id, MBEDTLS_SVC_KEY_ID_INIT ) );
47
48exit:
49    psa_destroy_key( key_id );
50    PSA_DONE( );
51}
52/* END_CASE */
53