Add initial pass on a multi-part test driver
Signed-off-by: Steven Cooreman <steven.cooreman@silabs.com>
diff --git a/library/psa_crypto.c b/library/psa_crypto.c
index 04ef28b..6acf498 100644
--- a/library/psa_crypto.c
+++ b/library/psa_crypto.c
@@ -4079,6 +4079,23 @@
PSA_KEY_USAGE_ENCRYPT :
PSA_KEY_USAGE_DECRYPT );
+ status = psa_get_key_from_slot( handle, &slot, usage, alg );
+ if( status != PSA_SUCCESS )
+ goto exit;
+
+ /* Try doing this through a driver before using software fallback */
+ if( cipher_operation == MBEDTLS_ENCRYPT )
+ status = psa_driver_wrapper_cipher_encrypt_setup( operation,
+ slot,
+ alg );
+ else
+ status = psa_driver_wrapper_cipher_decrypt_setup( operation,
+ slot,
+ alg );
+
+ if( status != PSA_ERROR_NOT_SUPPORTED )
+ goto exit;
+
/* A context must be freshly initialized before it can be set up. */
if( operation->alg != 0 )
{