Unregister drivers on library deinitialization
diff --git a/library/psa_crypto.c b/library/psa_crypto.c
index b3be261..7e20071 100644
--- a/library/psa_crypto.c
+++ b/library/psa_crypto.c
@@ -32,6 +32,7 @@
#include "psa_crypto_core.h"
#include "psa_crypto_invasive.h"
+#include "psa_crypto_se.h"
#include "psa_crypto_slot_management.h"
/* Include internal declarations that are useful for implementing persistently
* stored keys. */
@@ -5211,6 +5212,9 @@
* In particular, this sets all state indicator to the value
* indicating "uninitialized". */
mbedtls_platform_zeroize( &global_data, sizeof( global_data ) );
+ /* Unregister all secure element drivers, so that we restart from
+ * a pristine state. */
+ psa_unregister_all_se_drivers( );
}
psa_status_t psa_crypto_init( void )