psa: Add PSA_KEY_ID_INIT

A macro useful for initializing psa_key_id_t, whether
MBEDTLS_PSA_CRYPTO_KEY_FILE_ID_ENCODES_OWNER is set or not. Without this
macro, it is necessary to know if
MBEDTLS_PSA_CRYPTO_KEY_FILE_ID_ENCODES_OWNER as with it the key ID is
non-scalar and needs to be initialized with {0, 0}, and 0 otherwise when
key ID is scalar.
This commit is contained in:
Jaeden Amero 2019-08-20 11:11:55 +01:00
parent f89cc69660
commit 39f03fcf1a
3 changed files with 3 additions and 1 deletions

View file

@ -89,6 +89,7 @@ typedef struct
* `psa_key_file_id_t` argument. As a workaround, make `psa_key_id_t` an * `psa_key_file_id_t` argument. As a workaround, make `psa_key_id_t` an
* alias for `psa_key_file_id_t` when building for a multi-client service. */ * alias for `psa_key_file_id_t` when building for a multi-client service. */
typedef psa_key_file_id_t psa_key_id_t; typedef psa_key_file_id_t psa_key_id_t;
#define PSA_KEY_ID_INIT {0, 0}
#else /* !MBEDTLS_PSA_CRYPTO_KEY_FILE_ID_ENCODES_OWNER */ #else /* !MBEDTLS_PSA_CRYPTO_KEY_FILE_ID_ENCODES_OWNER */

View file

@ -379,7 +379,7 @@ typedef struct
psa_key_attributes_flag_t flags; psa_key_attributes_flag_t flags;
} psa_core_key_attributes_t; } psa_core_key_attributes_t;
#define PSA_CORE_KEY_ATTRIBUTES_INIT {0, 0, 0, PSA_KEY_POLICY_INIT, 0, 0} #define PSA_CORE_KEY_ATTRIBUTES_INIT {0, 0, PSA_KEY_ID_INIT, PSA_KEY_POLICY_INIT, 0, 0}
struct psa_key_attributes_s struct psa_key_attributes_s
{ {

View file

@ -120,6 +120,7 @@ typedef uint32_t psa_key_lifetime_t;
* psa_key_id_t in crypto_platform.h instead of here. */ * psa_key_id_t in crypto_platform.h instead of here. */
#if !defined(MBEDTLS_PSA_CRYPTO_KEY_FILE_ID_ENCODES_OWNER) #if !defined(MBEDTLS_PSA_CRYPTO_KEY_FILE_ID_ENCODES_OWNER)
typedef uint32_t psa_key_id_t; typedef uint32_t psa_key_id_t;
#define PSA_KEY_ID_INIT 0
#endif #endif
/**@}*/ /**@}*/