mirror of
				https://github.com/cuberite/polarssl.git
				synced 2025-11-04 04:32:24 -05:00 
			
		
		
		
	psa: Add ECP/RSA transparent test driver import_key entry point
Add ECP/RSA transparent test driver import_key entry point and use it in the transparent test driver entry supporting both ECP and RSA. Signed-off-by: Ronald Cron <ronald.cron@arm.com>
This commit is contained in:
		
							parent
							
								
									fb2ed5bb05
								
							
						
					
					
						commit
						784fb326ae
					
				@ -152,7 +152,7 @@ exit:
 | 
				
			|||||||
#if defined(BUILTIN_KEY_TYPE_ECC_KEY_PAIR) || \
 | 
					#if defined(BUILTIN_KEY_TYPE_ECC_KEY_PAIR) || \
 | 
				
			||||||
    defined(BUILTIN_KEY_TYPE_ECC_PUBLIC_KEY)
 | 
					    defined(BUILTIN_KEY_TYPE_ECC_PUBLIC_KEY)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
psa_status_t mbedtls_psa_ecp_import_key(
 | 
					static psa_status_t ecp_import_key(
 | 
				
			||||||
    const psa_key_attributes_t *attributes,
 | 
					    const psa_key_attributes_t *attributes,
 | 
				
			||||||
    const uint8_t *data, size_t data_length,
 | 
					    const uint8_t *data, size_t data_length,
 | 
				
			||||||
    uint8_t *key_buffer, size_t key_buffer_size,
 | 
					    uint8_t *key_buffer, size_t key_buffer_size,
 | 
				
			||||||
@ -271,6 +271,17 @@ static psa_status_t ecp_export_public_key(
 | 
				
			|||||||
#if defined(MBEDTLS_PSA_BUILTIN_KEY_TYPE_ECC_KEY_PAIR) || \
 | 
					#if defined(MBEDTLS_PSA_BUILTIN_KEY_TYPE_ECC_KEY_PAIR) || \
 | 
				
			||||||
    defined(MBEDTLS_PSA_BUILTIN_KEY_TYPE_ECC_PUBLIC_KEY)
 | 
					    defined(MBEDTLS_PSA_BUILTIN_KEY_TYPE_ECC_PUBLIC_KEY)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					psa_status_t mbedtls_psa_ecp_import_key(
 | 
				
			||||||
 | 
					    const psa_key_attributes_t *attributes,
 | 
				
			||||||
 | 
					    const uint8_t *data, size_t data_length,
 | 
				
			||||||
 | 
					    uint8_t *key_buffer, size_t key_buffer_size,
 | 
				
			||||||
 | 
					    size_t *key_buffer_length, size_t *bits )
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    return( ecp_import_key( attributes, data, data_length,
 | 
				
			||||||
 | 
					                            key_buffer, key_buffer_size,
 | 
				
			||||||
 | 
					                            key_buffer_length, bits ) );
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
psa_status_t mbedtls_psa_ecp_export_public_key(
 | 
					psa_status_t mbedtls_psa_ecp_export_public_key(
 | 
				
			||||||
    const psa_key_attributes_t *attributes,
 | 
					    const psa_key_attributes_t *attributes,
 | 
				
			||||||
    const uint8_t *key_buffer, size_t key_buffer_size,
 | 
					    const uint8_t *key_buffer, size_t key_buffer_size,
 | 
				
			||||||
@ -291,6 +302,18 @@ psa_status_t mbedtls_psa_ecp_export_public_key(
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#if defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_ECC_KEY_PAIR) || \
 | 
					#if defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_ECC_KEY_PAIR) || \
 | 
				
			||||||
    defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_ECC_PUBLIC_KEY)
 | 
					    defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_ECC_PUBLIC_KEY)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					psa_status_t mbedtls_transparent_test_driver_ecp_import_key(
 | 
				
			||||||
 | 
					    const psa_key_attributes_t *attributes,
 | 
				
			||||||
 | 
					    const uint8_t *data, size_t data_length,
 | 
				
			||||||
 | 
					    uint8_t *key_buffer, size_t key_buffer_size,
 | 
				
			||||||
 | 
					    size_t *key_buffer_length, size_t *bits )
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    return( ecp_import_key( attributes, data, data_length,
 | 
				
			||||||
 | 
					                            key_buffer, key_buffer_size,
 | 
				
			||||||
 | 
					                            key_buffer_length, bits ) );
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
psa_status_t mbedtls_transparent_test_driver_ecp_export_public_key(
 | 
					psa_status_t mbedtls_transparent_test_driver_ecp_export_public_key(
 | 
				
			||||||
    const psa_key_attributes_t *attributes,
 | 
					    const psa_key_attributes_t *attributes,
 | 
				
			||||||
    const uint8_t *key_buffer, size_t key_buffer_size,
 | 
					    const uint8_t *key_buffer, size_t key_buffer_size,
 | 
				
			||||||
@ -299,6 +322,7 @@ psa_status_t mbedtls_transparent_test_driver_ecp_export_public_key(
 | 
				
			|||||||
    return( ecp_export_public_key( attributes, key_buffer, key_buffer_size,
 | 
					    return( ecp_export_public_key( attributes, key_buffer, key_buffer_size,
 | 
				
			||||||
                                   data, data_size, data_length ) );
 | 
					                                   data, data_size, data_length ) );
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif /* defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_ECC_KEY_PAIR) ||
 | 
					#endif /* defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_ECC_KEY_PAIR) ||
 | 
				
			||||||
          defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_ECC_PUBLIC_KEY) */
 | 
					          defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_ECC_PUBLIC_KEY) */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -119,10 +119,17 @@ psa_status_t mbedtls_psa_ecp_export_public_key(
 | 
				
			|||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#if defined(PSA_CRYPTO_DRIVER_TEST)
 | 
					#if defined(PSA_CRYPTO_DRIVER_TEST)
 | 
				
			||||||
 | 
					psa_status_t mbedtls_transparent_test_driver_ecp_import_key(
 | 
				
			||||||
 | 
					    const psa_key_attributes_t *attributes,
 | 
				
			||||||
 | 
					    const uint8_t *data, size_t data_length,
 | 
				
			||||||
 | 
					    uint8_t *key_buffer, size_t key_buffer_size,
 | 
				
			||||||
 | 
					    size_t *key_buffer_length, size_t *bits );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
psa_status_t mbedtls_transparent_test_driver_ecp_export_public_key(
 | 
					psa_status_t mbedtls_transparent_test_driver_ecp_export_public_key(
 | 
				
			||||||
    const psa_key_attributes_t *attributes,
 | 
					    const psa_key_attributes_t *attributes,
 | 
				
			||||||
    const uint8_t *key_buffer, size_t key_buffer_size,
 | 
					    const uint8_t *key_buffer, size_t key_buffer_size,
 | 
				
			||||||
    uint8_t *data, size_t data_size, size_t *data_length );
 | 
					    uint8_t *data, size_t data_size, size_t *data_length );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif /* PSA_CRYPTO_DRIVER_TEST */
 | 
					#endif /* PSA_CRYPTO_DRIVER_TEST */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif /* PSA_CRYPTO_ECP_H */
 | 
					#endif /* PSA_CRYPTO_ECP_H */
 | 
				
			||||||
 | 
				
			|||||||
@ -139,7 +139,7 @@ exit:
 | 
				
			|||||||
#if defined(BUILTIN_KEY_TYPE_RSA_KEY_PAIR) || \
 | 
					#if defined(BUILTIN_KEY_TYPE_RSA_KEY_PAIR) || \
 | 
				
			||||||
    defined(BUILTIN_KEY_TYPE_RSA_PUBLIC_KEY)
 | 
					    defined(BUILTIN_KEY_TYPE_RSA_PUBLIC_KEY)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
psa_status_t mbedtls_psa_rsa_import_key(
 | 
					static psa_status_t rsa_import_key(
 | 
				
			||||||
    const psa_key_attributes_t *attributes,
 | 
					    const psa_key_attributes_t *attributes,
 | 
				
			||||||
    const uint8_t *data, size_t data_length,
 | 
					    const uint8_t *data, size_t data_length,
 | 
				
			||||||
    uint8_t *key_buffer, size_t key_buffer_size,
 | 
					    uint8_t *key_buffer, size_t key_buffer_size,
 | 
				
			||||||
@ -261,6 +261,17 @@ static psa_status_t rsa_export_public_key(
 | 
				
			|||||||
#if defined(MBEDTLS_PSA_BUILTIN_KEY_TYPE_RSA_KEY_PAIR) || \
 | 
					#if defined(MBEDTLS_PSA_BUILTIN_KEY_TYPE_RSA_KEY_PAIR) || \
 | 
				
			||||||
    defined(MBEDTLS_PSA_BUILTIN_KEY_TYPE_RSA_PUBLIC_KEY)
 | 
					    defined(MBEDTLS_PSA_BUILTIN_KEY_TYPE_RSA_PUBLIC_KEY)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					psa_status_t mbedtls_psa_rsa_import_key(
 | 
				
			||||||
 | 
					    const psa_key_attributes_t *attributes,
 | 
				
			||||||
 | 
					    const uint8_t *data, size_t data_length,
 | 
				
			||||||
 | 
					    uint8_t *key_buffer, size_t key_buffer_size,
 | 
				
			||||||
 | 
					    size_t *key_buffer_length, size_t *bits )
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    return( rsa_import_key( attributes, data, data_length,
 | 
				
			||||||
 | 
					                            key_buffer, key_buffer_size,
 | 
				
			||||||
 | 
					                            key_buffer_length, bits ) );
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
psa_status_t mbedtls_psa_rsa_export_public_key(
 | 
					psa_status_t mbedtls_psa_rsa_export_public_key(
 | 
				
			||||||
    const psa_key_attributes_t *attributes,
 | 
					    const psa_key_attributes_t *attributes,
 | 
				
			||||||
    const uint8_t *key_buffer, size_t key_buffer_size,
 | 
					    const uint8_t *key_buffer, size_t key_buffer_size,
 | 
				
			||||||
@ -281,6 +292,18 @@ psa_status_t mbedtls_psa_rsa_export_public_key(
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#if defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_RSA_KEY_PAIR) || \
 | 
					#if defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_RSA_KEY_PAIR) || \
 | 
				
			||||||
    defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_RSA_PUBLIC_KEY)
 | 
					    defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_RSA_PUBLIC_KEY)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					psa_status_t mbedtls_transparent_test_driver_rsa_import_key(
 | 
				
			||||||
 | 
					    const psa_key_attributes_t *attributes,
 | 
				
			||||||
 | 
					    const uint8_t *data, size_t data_length,
 | 
				
			||||||
 | 
					    uint8_t *key_buffer, size_t key_buffer_size,
 | 
				
			||||||
 | 
					    size_t *key_buffer_length, size_t *bits )
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    return( rsa_import_key( attributes, data, data_length,
 | 
				
			||||||
 | 
					                            key_buffer, key_buffer_size,
 | 
				
			||||||
 | 
					                            key_buffer_length, bits ) );
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
psa_status_t mbedtls_transparent_test_driver_rsa_export_public_key(
 | 
					psa_status_t mbedtls_transparent_test_driver_rsa_export_public_key(
 | 
				
			||||||
    const psa_key_attributes_t *attributes,
 | 
					    const psa_key_attributes_t *attributes,
 | 
				
			||||||
    const uint8_t *key_buffer, size_t key_buffer_size,
 | 
					    const uint8_t *key_buffer, size_t key_buffer_size,
 | 
				
			||||||
@ -289,6 +312,7 @@ psa_status_t mbedtls_transparent_test_driver_rsa_export_public_key(
 | 
				
			|||||||
    return( rsa_export_public_key( attributes, key_buffer, key_buffer_size,
 | 
					    return( rsa_export_public_key( attributes, key_buffer, key_buffer_size,
 | 
				
			||||||
                                   data, data_size, data_length ) );
 | 
					                                   data, data_size, data_length ) );
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif /* defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_RSA_KEY_PAIR) ||
 | 
					#endif /* defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_RSA_KEY_PAIR) ||
 | 
				
			||||||
          defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_RSA_PUBLIC_KEY) */
 | 
					          defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_RSA_PUBLIC_KEY) */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -120,6 +120,12 @@ psa_status_t mbedtls_psa_rsa_export_public_key(
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#if defined(PSA_CRYPTO_DRIVER_TEST)
 | 
					#if defined(PSA_CRYPTO_DRIVER_TEST)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					psa_status_t mbedtls_transparent_test_driver_rsa_import_key(
 | 
				
			||||||
 | 
					    const psa_key_attributes_t *attributes,
 | 
				
			||||||
 | 
					    const uint8_t *data, size_t data_length,
 | 
				
			||||||
 | 
					    uint8_t *key_buffer, size_t key_buffer_size,
 | 
				
			||||||
 | 
					    size_t *key_buffer_length, size_t *bits );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
psa_status_t mbedtls_transparent_test_driver_rsa_export_public_key(
 | 
					psa_status_t mbedtls_transparent_test_driver_rsa_export_public_key(
 | 
				
			||||||
    const psa_key_attributes_t *attributes,
 | 
					    const psa_key_attributes_t *attributes,
 | 
				
			||||||
    const uint8_t *key_buffer, size_t key_buffer_size,
 | 
					    const uint8_t *key_buffer, size_t key_buffer_size,
 | 
				
			||||||
 | 
				
			|||||||
@ -153,105 +153,45 @@ psa_status_t test_transparent_import_key(
 | 
				
			|||||||
    if( test_driver_key_management_hooks.forced_status != PSA_SUCCESS )
 | 
					    if( test_driver_key_management_hooks.forced_status != PSA_SUCCESS )
 | 
				
			||||||
        return( test_driver_key_management_hooks.forced_status );
 | 
					        return( test_driver_key_management_hooks.forced_status );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    psa_status_t status = PSA_ERROR_CORRUPTION_DETECTED;
 | 
				
			||||||
 | 
					    psa_key_type_t type = psa_get_key_type( attributes );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#if defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_ECC_KEY_PAIR) || \
 | 
					#if defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_ECC_KEY_PAIR) || \
 | 
				
			||||||
    defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_ECC_PUBLIC_KEY)
 | 
					    defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_ECC_PUBLIC_KEY)
 | 
				
			||||||
    psa_key_type_t type = psa_get_key_type( attributes );
 | 
					    if( PSA_KEY_TYPE_IS_ECC( type ) )
 | 
				
			||||||
    if ( PSA_KEY_TYPE_IS_ECC( type ) )
 | 
					 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        // Code mostly copied from psa_load_ecp_representation
 | 
					        status = mbedtls_transparent_test_driver_ecp_import_key(
 | 
				
			||||||
        psa_ecc_family_t curve = PSA_KEY_TYPE_ECC_GET_FAMILY( type );
 | 
					                     attributes,
 | 
				
			||||||
        mbedtls_ecp_group_id grp_id;
 | 
					                     data, data_length,
 | 
				
			||||||
        mbedtls_ecp_keypair ecp;
 | 
					                     key_buffer, key_buffer_size,
 | 
				
			||||||
        psa_status_t status = PSA_ERROR_CORRUPTION_DETECTED;
 | 
					                     key_buffer_length, bits );
 | 
				
			||||||
 | 
					 | 
				
			||||||
        if( psa_get_key_bits( attributes ) == 0 )
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            // Attempt auto-detect of curve bit size
 | 
					 | 
				
			||||||
            size_t curve_size = data_length;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            if( PSA_KEY_TYPE_IS_PUBLIC_KEY( type ) &&
 | 
					 | 
				
			||||||
                PSA_KEY_TYPE_ECC_GET_FAMILY( type ) != PSA_ECC_FAMILY_MONTGOMERY )
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                /* A Weierstrass public key is represented as:
 | 
					 | 
				
			||||||
                 * - The byte 0x04;
 | 
					 | 
				
			||||||
                 * - `x_P` as a `ceiling(m/8)`-byte string, big-endian;
 | 
					 | 
				
			||||||
                 * - `y_P` as a `ceiling(m/8)`-byte string, big-endian.
 | 
					 | 
				
			||||||
                 * So its data length is 2m+1 where m is the curve size in bits.
 | 
					 | 
				
			||||||
                 */
 | 
					 | 
				
			||||||
                if( ( data_length & 1 ) == 0 )
 | 
					 | 
				
			||||||
                    return( PSA_ERROR_INVALID_ARGUMENT );
 | 
					 | 
				
			||||||
                curve_size = data_length / 2;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                /* Montgomery public keys are represented in compressed format, meaning
 | 
					 | 
				
			||||||
                 * their curve_size is equal to the amount of input. */
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                /* Private keys are represented in uncompressed private random integer
 | 
					 | 
				
			||||||
                 * format, meaning their curve_size is equal to the amount of input. */
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            grp_id = mbedtls_ecc_group_of_psa( curve, curve_size );
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        else
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            grp_id = mbedtls_ecc_group_of_psa( curve,
 | 
					 | 
				
			||||||
                PSA_BITS_TO_BYTES( psa_get_key_bits( attributes ) ) );
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        const mbedtls_ecp_curve_info *curve_info =
 | 
					 | 
				
			||||||
            mbedtls_ecp_curve_info_from_grp_id( grp_id );
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        if( attributes->domain_parameters_size != 0 )
 | 
					 | 
				
			||||||
            return( PSA_ERROR_NOT_SUPPORTED );
 | 
					 | 
				
			||||||
        if( grp_id == MBEDTLS_ECP_DP_NONE || curve_info == NULL )
 | 
					 | 
				
			||||||
            return( PSA_ERROR_NOT_SUPPORTED );
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        *bits = curve_info->bit_size;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        mbedtls_ecp_keypair_init( &ecp );
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        status = mbedtls_to_psa_error(
 | 
					 | 
				
			||||||
                    mbedtls_ecp_group_load( &ecp.grp, grp_id ) );
 | 
					 | 
				
			||||||
        if( status != PSA_SUCCESS )
 | 
					 | 
				
			||||||
            goto ecp_exit;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        /* Load the key material. */
 | 
					 | 
				
			||||||
        if( PSA_KEY_TYPE_IS_PUBLIC_KEY( type ) )
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            /* Load the public value. */
 | 
					 | 
				
			||||||
            status = mbedtls_to_psa_error(
 | 
					 | 
				
			||||||
                mbedtls_ecp_point_read_binary( &ecp.grp, &ecp.Q,
 | 
					 | 
				
			||||||
                                               data,
 | 
					 | 
				
			||||||
                                               data_length ) );
 | 
					 | 
				
			||||||
            if( status != PSA_SUCCESS )
 | 
					 | 
				
			||||||
                goto ecp_exit;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            /* Check that the point is on the curve. */
 | 
					 | 
				
			||||||
            status = mbedtls_to_psa_error(
 | 
					 | 
				
			||||||
                mbedtls_ecp_check_pubkey( &ecp.grp, &ecp.Q ) );
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        else
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            /* Load and validate the secret value. */
 | 
					 | 
				
			||||||
            status = mbedtls_to_psa_error(
 | 
					 | 
				
			||||||
                mbedtls_ecp_read_key( ecp.grp.id,
 | 
					 | 
				
			||||||
                                      &ecp,
 | 
					 | 
				
			||||||
                                      data,
 | 
					 | 
				
			||||||
                                      data_length ) );
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
ecp_exit:
 | 
					 | 
				
			||||||
        mbedtls_ecp_keypair_free( &ecp );
 | 
					 | 
				
			||||||
        return( status );
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    return( PSA_ERROR_NOT_SUPPORTED );
 | 
					    else
 | 
				
			||||||
#else
 | 
					#endif
 | 
				
			||||||
    (void) attributes;
 | 
					#if defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_RSA_KEY_PAIR) || \
 | 
				
			||||||
    (void) data;
 | 
					    defined(MBEDTLS_PSA_ACCEL_KEY_TYPE_RSA_PUBLIC_KEY)
 | 
				
			||||||
    (void) data_length;
 | 
					    if( PSA_KEY_TYPE_IS_RSA( type ) )
 | 
				
			||||||
    (void) bits;
 | 
					    {
 | 
				
			||||||
    return( PSA_ERROR_NOT_SUPPORTED );
 | 
					        status = mbedtls_transparent_test_driver_rsa_import_key(
 | 
				
			||||||
#endif /* MBEDTLS_PSA_ACCEL_KEY_TYPE_ECC_KEY_PAIR ||
 | 
					                     attributes,
 | 
				
			||||||
        * MBEDTLS_PSA_ACCEL_KEY_TYPE_ECC_PUBLIC_KEY */
 | 
					                     data, data_length,
 | 
				
			||||||
 | 
					                     key_buffer, key_buffer_size,
 | 
				
			||||||
 | 
					                     key_buffer_length, bits );
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        status = PSA_ERROR_NOT_SUPPORTED;
 | 
				
			||||||
 | 
					        (void)data;
 | 
				
			||||||
 | 
					        (void)data_length;
 | 
				
			||||||
 | 
					        (void)key_buffer;
 | 
				
			||||||
 | 
					        (void)key_buffer_size;
 | 
				
			||||||
 | 
					        (void)key_buffer_length;
 | 
				
			||||||
 | 
					        (void)bits;
 | 
				
			||||||
 | 
					        (void)type;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    return( status );
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
psa_status_t test_opaque_export_key(
 | 
					psa_status_t test_opaque_export_key(
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user