1 /* 2 * Copyright (c) 2015-2022, ARM Limited and Contributors. All rights reserved. 3 * 4 * SPDX-License-Identifier: BSD-3-Clause 5 */ 6 7 #ifndef COT_DEF_H 8 #define COT_DEF_H 9 10 #ifdef MBEDTLS_CONFIG_FILE 11 #include MBEDTLS_CONFIG_FILE 12 #endif 13 14 /* TBBR CoT definitions */ 15 #if defined(SPD_spmd) 16 #define COT_MAX_VERIFIED_PARAMS 8 17 #elif defined(ARM_COT_cca) 18 #define COT_MAX_VERIFIED_PARAMS 8 19 #else 20 #define COT_MAX_VERIFIED_PARAMS 4 21 #endif 22 23 /* 24 * Maximum key and hash sizes (in DER format). 25 * 26 * Both RSA and ECDSA keys may be used at the same time. In this case, the key 27 * buffers must be big enough to hold either. As RSA keys are bigger than ECDSA 28 * ones for all key sizes we support, they impose the minimum size of these 29 * buffers. 30 */ 31 #if TF_MBEDTLS_USE_RSA 32 #if TF_MBEDTLS_KEY_SIZE == 1024 33 #define PK_DER_LEN 162 34 #elif TF_MBEDTLS_KEY_SIZE == 2048 35 #define PK_DER_LEN 294 36 #elif TF_MBEDTLS_KEY_SIZE == 3072 37 #define PK_DER_LEN 422 38 #elif TF_MBEDTLS_KEY_SIZE == 4096 39 #define PK_DER_LEN 550 40 #else 41 #error "Invalid value for TF_MBEDTLS_KEY_SIZE" 42 #endif 43 #else /* Only using ECDSA keys. */ 44 #define PK_DER_LEN 92 45 #endif 46 47 #if TF_MBEDTLS_HASH_ALG_ID == TF_MBEDTLS_SHA256 48 #define HASH_DER_LEN 51 49 #elif TF_MBEDTLS_HASH_ALG_ID == TF_MBEDTLS_SHA384 50 #define HASH_DER_LEN 67 51 #elif TF_MBEDTLS_HASH_ALG_ID == TF_MBEDTLS_SHA512 52 #define HASH_DER_LEN 83 53 #else 54 #error "Invalid value for TF_MBEDTLS_HASH_ALG_ID" 55 #endif 56 57 #endif /* COT_DEF_H */ 58