Change names rsa->asymmetric_encryption

Signed-off-by: Przemek Stekiel <przemyslaw.stekiel@mobica.com>
This commit is contained in:
Przemek Stekiel 2022-03-07 10:14:07 +01:00
parent 38df86cc6c
commit 7a58208809
4 changed files with 64 additions and 49 deletions

View file

@ -1,5 +1,5 @@
/*
* Test driver for hash driver entry points.
* Test driver for asymmetric encryption.
*/
/* Copyright The Mbed TLS Contributors
* SPDX-License-Identifier: Apache-2.0
@ -17,8 +17,8 @@
* limitations under the License.
*/
#ifndef PSA_CRYPTO_TEST_DRIVERS_ASYM_H
#define PSA_CRYPTO_TEST_DRIVERS_ASYM_H
#ifndef PSA_CRYPTO_TEST_DRIVERS_ASYMMETRIC_ENCRYPTION_H
#define PSA_CRYPTO_TEST_DRIVERS_ASYMMETRIC_ENCRYPTION_H
#include "mbedtls/build_info.h"
@ -33,20 +33,23 @@ typedef struct {
/* If not PSA_SUCCESS, return this error code instead of processing the
* function call. */
psa_status_t forced_status;
/* Count the amount of times one of the rsa driver functions is called. */
/* Count the amount of times one of the asymmetric_encryption driver
functions is called. */
unsigned long hits;
} mbedtls_test_driver_rsa_hooks_t;
} mbedtls_test_driver_asymmetric_encryption_hooks_t;
#define MBEDTLS_TEST_DRIVER_RSA_INIT { NULL, 0, PSA_SUCCESS, 0 }
#define MBEDTLS_TEST_DRIVER_ASYMMETRIC_ENCRYPTION_INIT { NULL, 0, PSA_SUCCESS, 0 }
static inline mbedtls_test_driver_rsa_hooks_t
mbedtls_test_driver_rsa_hooks_init( void )
static inline mbedtls_test_driver_asymmetric_encryption_hooks_t
mbedtls_test_driver_asymmetric_encryption_hooks_init( void )
{
const mbedtls_test_driver_rsa_hooks_t v = MBEDTLS_TEST_DRIVER_RSA_INIT;
const mbedtls_test_driver_asymmetric_encryption_hooks_t v =
MBEDTLS_TEST_DRIVER_ASYMMETRIC_ENCRYPTION_INIT;
return( v );
}
extern mbedtls_test_driver_rsa_hooks_t mbedtls_test_driver_rsa_hooks;
extern mbedtls_test_driver_asymmetric_encryption_hooks_t
mbedtls_test_driver_asymmetric_encryption_hooks;
psa_status_t mbedtls_test_transparent_asymmetric_encrypt(
const psa_key_attributes_t *attributes, const uint8_t *key_buffer,
@ -73,4 +76,4 @@ psa_status_t mbedtls_test_opaque_asymmetric_decrypt(
uint8_t *output, size_t output_size, size_t *output_length );
#endif /* PSA_CRYPTO_DRIVER_TEST */
#endif /* PSA_CRYPTO_TEST_DRIVERS_ASYM_H */
#endif /* PSA_CRYPTO_TEST_DRIVERS_ASYMMETRIC_ENCRYPTION_H */

View file

@ -28,6 +28,6 @@
#include "test/drivers/mac.h"
#include "test/drivers/key_management.h"
#include "test/drivers/signature.h"
#include "test/drivers/asym.h"
#include "test/drivers/asymmetric_encryption.h"
#endif /* PSA_CRYPTO_TEST_DRIVER_H */

View file

@ -1,5 +1,5 @@
/*
* Test driver for rsa functions.
* Test driver for asymmetric encryption.
*/
/* Copyright The Mbed TLS Contributors
* SPDX-License-Identifier: Apache-2.0
@ -24,14 +24,14 @@
#include "mbedtls/rsa.h"
#include "psa_crypto_rsa.h"
#include "string.h"
#include "test/drivers/asym.h"
#include "test/drivers/asymmetric_encryption.h"
#if defined(MBEDTLS_TEST_LIBTESTDRIVER1)
#include "libtestdriver1/library/psa_crypto_rsa.h"
#endif
mbedtls_test_driver_rsa_hooks_t mbedtls_test_driver_rsa_hooks =
MBEDTLS_TEST_DRIVER_RSA_INIT;
mbedtls_test_driver_asymmetric_encryption_hooks_t mbedtls_test_driver_asymmetric_encryption_hooks =
MBEDTLS_TEST_DRIVER_ASYMMETRIC_ENCRYPTION_INIT;
psa_status_t mbedtls_test_transparent_asymmetric_encrypt(
const psa_key_attributes_t *attributes, const uint8_t *key_buffer,
@ -39,23 +39,23 @@ psa_status_t mbedtls_test_transparent_asymmetric_encrypt(
size_t input_length, const uint8_t *salt, size_t salt_length,
uint8_t *output, size_t output_size, size_t *output_length )
{
mbedtls_test_driver_rsa_hooks.hits++;
mbedtls_test_driver_asymmetric_encryption_hooks.hits++;
if( mbedtls_test_driver_rsa_hooks.forced_output != NULL )
if( mbedtls_test_driver_asymmetric_encryption_hooks.forced_output != NULL )
{
if( output_size < mbedtls_test_driver_rsa_hooks.forced_output_length )
if( output_size < mbedtls_test_driver_asymmetric_encryption_hooks.forced_output_length )
return( PSA_ERROR_BUFFER_TOO_SMALL );
memcpy( output,
mbedtls_test_driver_rsa_hooks.forced_output,
mbedtls_test_driver_rsa_hooks.forced_output_length );
*output_length = mbedtls_test_driver_rsa_hooks.forced_output_length;
mbedtls_test_driver_asymmetric_encryption_hooks.forced_output,
mbedtls_test_driver_asymmetric_encryption_hooks.forced_output_length );
*output_length = mbedtls_test_driver_asymmetric_encryption_hooks.forced_output_length;
return( mbedtls_test_driver_rsa_hooks.forced_status );
return( mbedtls_test_driver_asymmetric_encryption_hooks.forced_status );
}
if( mbedtls_test_driver_rsa_hooks.forced_status != PSA_SUCCESS )
return( mbedtls_test_driver_rsa_hooks.forced_status );
if( mbedtls_test_driver_asymmetric_encryption_hooks.forced_status != PSA_SUCCESS )
return( mbedtls_test_driver_asymmetric_encryption_hooks.forced_status );
#if defined(MBEDTLS_TEST_LIBTESTDRIVER1) && \
defined(LIBTESTDRIVER1_MBEDTLS_PSA_BUILTIN_CIPHER)
@ -80,23 +80,23 @@ psa_status_t mbedtls_test_transparent_asymmetric_decrypt(
size_t input_length, const uint8_t *salt, size_t salt_length,
uint8_t *output, size_t output_size, size_t *output_length )
{
mbedtls_test_driver_rsa_hooks.hits++;
mbedtls_test_driver_asymmetric_encryption_hooks.hits++;
if( mbedtls_test_driver_rsa_hooks.forced_output != NULL )
if( mbedtls_test_driver_asymmetric_encryption_hooks.forced_output != NULL )
{
if( output_size < mbedtls_test_driver_rsa_hooks.forced_output_length )
if( output_size < mbedtls_test_driver_asymmetric_encryption_hooks.forced_output_length )
return( PSA_ERROR_BUFFER_TOO_SMALL );
memcpy( output,
mbedtls_test_driver_rsa_hooks.forced_output,
mbedtls_test_driver_rsa_hooks.forced_output_length );
*output_length = mbedtls_test_driver_rsa_hooks.forced_output_length;
mbedtls_test_driver_asymmetric_encryption_hooks.forced_output,
mbedtls_test_driver_asymmetric_encryption_hooks.forced_output_length );
*output_length = mbedtls_test_driver_asymmetric_encryption_hooks.forced_output_length;
return( mbedtls_test_driver_rsa_hooks.forced_status );
return( mbedtls_test_driver_asymmetric_encryption_hooks.forced_status );
}
if( mbedtls_test_driver_rsa_hooks.forced_status != PSA_SUCCESS )
return( mbedtls_test_driver_rsa_hooks.forced_status );
if( mbedtls_test_driver_asymmetric_encryption_hooks.forced_status != PSA_SUCCESS )
return( mbedtls_test_driver_asymmetric_encryption_hooks.forced_status );
#if defined(MBEDTLS_TEST_LIBTESTDRIVER1) && \
defined(LIBTESTDRIVER1_MBEDTLS_PSA_BUILTIN_CIPHER)

View file

@ -1851,7 +1851,8 @@ void asymmetric_encrypt_decrypt( int alg_arg,
psa_key_attributes_t attributes = PSA_KEY_ATTRIBUTES_INIT;
PSA_ASSERT( psa_crypto_init( ) );
mbedtls_test_driver_rsa_hooks = mbedtls_test_driver_rsa_hooks_init();
mbedtls_test_driver_asymmetric_encryption_hooks =
mbedtls_test_driver_asymmetric_encryption_hooks_init();
psa_set_key_usage_flags( &attributes, PSA_KEY_USAGE_ENCRYPT | PSA_KEY_USAGE_DECRYPT );
psa_set_key_algorithm( &attributes, alg );
@ -1864,11 +1865,14 @@ void asymmetric_encrypt_decrypt( int alg_arg,
PSA_ASSERT( psa_get_key_attributes( key, &attributes ) );
key_bits = psa_get_key_bits( &attributes );
mbedtls_test_driver_rsa_hooks.forced_status = forced_status_encrypt;
mbedtls_test_driver_asymmetric_encryption_hooks.forced_status =
forced_status_encrypt;
if ( fake_output_encrypt->len > 0 )
{
mbedtls_test_driver_rsa_hooks.forced_output = fake_output_encrypt->x;
mbedtls_test_driver_rsa_hooks.forced_output_length = fake_output_encrypt->len;
mbedtls_test_driver_asymmetric_encryption_hooks.forced_output =
fake_output_encrypt->x;
mbedtls_test_driver_asymmetric_encryption_hooks.forced_output_length =
fake_output_encrypt->len;
output_size = fake_output_encrypt->len;
ASSERT_ALLOC( output, output_size );
}
@ -1895,14 +1899,17 @@ void asymmetric_encrypt_decrypt( int alg_arg,
{
if ( fake_output_encrypt->len > 0 )
ASSERT_COMPARE( fake_output_encrypt->x, fake_output_encrypt->len,
output, output_length );
output, output_length );
else
{
mbedtls_test_driver_rsa_hooks.forced_status = forced_status_decrypt;
mbedtls_test_driver_asymmetric_encryption_hooks.forced_status =
forced_status_decrypt;
if ( fake_output_decrypt->len > 0 )
{
mbedtls_test_driver_rsa_hooks.forced_output = fake_output_decrypt->x;
mbedtls_test_driver_rsa_hooks.forced_output_length = fake_output_decrypt->len;
mbedtls_test_driver_asymmetric_encryption_hooks.forced_output =
fake_output_decrypt->x;
mbedtls_test_driver_asymmetric_encryption_hooks.forced_output_length =
fake_output_decrypt->len;
output2_size = fake_output_decrypt->len;
ASSERT_ALLOC( output2, output2_size );
}
@ -1924,10 +1931,10 @@ void asymmetric_encrypt_decrypt( int alg_arg,
{
if ( fake_output_decrypt->len > 0 )
ASSERT_COMPARE( fake_output_decrypt->x, fake_output_decrypt->len,
output2, output2_length );
output2, output2_length );
else
ASSERT_COMPARE( input_data->x, input_data->len,
output2, output2_length );
output2, output2_length );
}
}
}
@ -1967,7 +1974,8 @@ void asymmetric_decrypt( int alg_arg,
psa_key_attributes_t attributes = PSA_KEY_ATTRIBUTES_INIT;
PSA_ASSERT( psa_crypto_init( ) );
mbedtls_test_driver_rsa_hooks = mbedtls_test_driver_rsa_hooks_init();
mbedtls_test_driver_asymmetric_encryption_hooks =
mbedtls_test_driver_asymmetric_encryption_hooks_init();
psa_set_key_usage_flags( &attributes, PSA_KEY_USAGE_DECRYPT );
psa_set_key_algorithm( &attributes, alg );
@ -1976,11 +1984,15 @@ void asymmetric_decrypt( int alg_arg,
PSA_ASSERT( psa_import_key( &attributes, key_data->x, key_data->len,
&key ) );
mbedtls_test_driver_rsa_hooks.forced_status = forced_status_decrypt;
mbedtls_test_driver_asymmetric_encryption_hooks.forced_status =
forced_status_decrypt;
if ( fake_output_decrypt->len > 0 )
{
mbedtls_test_driver_rsa_hooks.forced_output = fake_output_decrypt->x;
mbedtls_test_driver_rsa_hooks.forced_output_length = fake_output_decrypt->len;
mbedtls_test_driver_asymmetric_encryption_hooks.forced_output =
fake_output_decrypt->x;
mbedtls_test_driver_asymmetric_encryption_hooks.forced_output_length =
fake_output_decrypt->len;
output_size = fake_output_decrypt->len;
ASSERT_ALLOC( output, output_size );
}
@ -1999,7 +2011,7 @@ void asymmetric_decrypt( int alg_arg,
{
TEST_EQUAL( output_length, expected_output_data->len );
ASSERT_COMPARE( expected_output_data->x, expected_output_data->len,
output, output_length );
output, output_length );
}
exit:
/*