mirror of
https://github.com/Mbed-TLS/mbedtls.git
synced 2025-03-09 19:14:02 +00:00
Assert that key ID ranges don't overlap
Ensure that a key ID can't be in range for more than one of volatile keys, persistent (i.e. user-chosen) keys or built-in keys. Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
This commit is contained in:
parent
543909d894
commit
b6bf370159
@ -27,6 +27,37 @@
|
||||
#include "mbedtls/threading.h"
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
/* Make sure we have distinct ranges of key identifiers for distinct
|
||||
* purposes. */
|
||||
MBEDTLS_STATIC_ASSERT(PSA_KEY_ID_USER_MIN < PSA_KEY_ID_USER_MAX,
|
||||
"Empty user key ID range");
|
||||
MBEDTLS_STATIC_ASSERT(PSA_KEY_ID_VENDOR_MIN < PSA_KEY_ID_VENDOR_MAX,
|
||||
"Empty vendor key ID range");
|
||||
MBEDTLS_STATIC_ASSERT(MBEDTLS_PSA_KEY_ID_BUILTIN_MIN < MBEDTLS_PSA_KEY_ID_BUILTIN_MAX,
|
||||
"Empty builtin key ID range");
|
||||
MBEDTLS_STATIC_ASSERT(PSA_KEY_ID_VOLATILE_MIN < PSA_KEY_ID_VOLATILE_MAX,
|
||||
"Empty volatile key ID range");
|
||||
|
||||
MBEDTLS_STATIC_ASSERT(PSA_KEY_ID_USER_MAX < PSA_KEY_ID_VENDOR_MIN ||
|
||||
PSA_KEY_ID_VENDOR_MAX < PSA_KEY_ID_USER_MIN,
|
||||
"Overlap between user key IDs and vendor key IDs");
|
||||
|
||||
MBEDTLS_STATIC_ASSERT(PSA_KEY_ID_VENDOR_MIN <= MBEDTLS_PSA_KEY_ID_BUILTIN_MIN &&
|
||||
MBEDTLS_PSA_KEY_ID_BUILTIN_MAX <= PSA_KEY_ID_VENDOR_MAX,
|
||||
"Builtin key identifiers are not in the vendor range");
|
||||
|
||||
MBEDTLS_STATIC_ASSERT(PSA_KEY_ID_VENDOR_MIN <= PSA_KEY_ID_VOLATILE_MIN &&
|
||||
PSA_KEY_ID_VOLATILE_MAX <= PSA_KEY_ID_VENDOR_MAX,
|
||||
"Volatile key identifiers are not in the vendor range");
|
||||
|
||||
MBEDTLS_STATIC_ASSERT(PSA_KEY_ID_VOLATILE_MAX < MBEDTLS_PSA_KEY_ID_BUILTIN_MIN ||
|
||||
MBEDTLS_PSA_KEY_ID_BUILTIN_MAX < PSA_KEY_ID_VOLATILE_MIN,
|
||||
"Overlap between builtin key IDs and volatile key IDs");
|
||||
|
||||
|
||||
|
||||
typedef struct {
|
||||
psa_key_slot_t key_slots[MBEDTLS_PSA_KEY_SLOT_COUNT];
|
||||
uint8_t key_slots_initialized;
|
||||
|
Loading…
x
Reference in New Issue
Block a user