1 /* 2 * Copyright (c) 2015-2020, 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 /* TBBR CoT definitions */ 11 #if defined(SPD_spmd) 12 #define COT_MAX_VERIFIED_PARAMS 8 13 #else 14 #define COT_MAX_VERIFIED_PARAMS 4 15 #endif 16 17 /* 18 * Maximum key and hash sizes (in DER format). 19 * 20 * Both RSA and ECDSA keys may be used at the same time. In this case, the key 21 * buffers must be big enough to hold either. As RSA keys are bigger than ECDSA 22 * ones for all key sizes we support, they impose the minimum size of these 23 * buffers. 24 */ 25 #if TF_MBEDTLS_USE_RSA 26 #if TF_MBEDTLS_KEY_SIZE == 1024 27 #define PK_DER_LEN 162 28 #elif TF_MBEDTLS_KEY_SIZE == 2048 29 #define PK_DER_LEN 294 30 #elif TF_MBEDTLS_KEY_SIZE == 3072 31 #define PK_DER_LEN 422 32 #elif TF_MBEDTLS_KEY_SIZE == 4096 33 #define PK_DER_LEN 550 34 #else 35 #error "Invalid value for TF_MBEDTLS_KEY_SIZE" 36 #endif 37 #else /* Only using ECDSA keys. */ 38 #define PK_DER_LEN 91 39 #endif 40 41 #if TF_MBEDTLS_HASH_ALG_ID == TF_MBEDTLS_SHA256 42 #define HASH_DER_LEN 51 43 #elif TF_MBEDTLS_HASH_ALG_ID == TF_MBEDTLS_SHA384 44 #define HASH_DER_LEN 67 45 #elif TF_MBEDTLS_HASH_ALG_ID == TF_MBEDTLS_SHA512 46 #define HASH_DER_LEN 83 47 #else 48 #error "Invalid value for TF_MBEDTLS_HASH_ALG_ID" 49 #endif 50 51 #endif /* COT_DEF_H */ 52