Expose the PSA key slot structure to internal modules
Move psa_key_slot_t to a new header psa_crypto_core.h, to prepare for
moving the responsibility for some fields to
psa_crypto_slot_management.c.
diff --git a/library/psa_crypto.c b/library/psa_crypto.c
index afb4d32..2712c67 100644
--- a/library/psa_crypto.c
+++ b/library/psa_crypto.c
@@ -43,6 +43,7 @@
#include "psa/crypto.h"
+#include "psa_crypto_core.h"
#include "psa_crypto_invasive.h"
#include "psa_crypto_slot_management.h"
/* Include internal declarations that are useful for implementing persistently
@@ -113,29 +114,6 @@
/* Global data, support functions and library management */
/****************************************************************/
-typedef struct
-{
- psa_key_type_t type;
- psa_key_policy_t policy;
- psa_key_lifetime_t lifetime;
- psa_key_id_t persistent_storage_id;
- unsigned allocated : 1;
- union
- {
- struct raw_data
- {
- uint8_t *data;
- size_t bytes;
- } raw;
-#if defined(MBEDTLS_RSA_C)
- mbedtls_rsa_context *rsa;
-#endif /* MBEDTLS_RSA_C */
-#if defined(MBEDTLS_ECP_C)
- mbedtls_ecp_keypair *ecp;
-#endif /* MBEDTLS_ECP_C */
- } data;
-} psa_key_slot_t;
-
static int key_type_is_raw_bytes( psa_key_type_t type )
{
return( PSA_KEY_TYPE_IS_UNSTRUCTURED( type ) );