1dff93c86SJuan Castillo /* 2*a8eadc51SGovindraj Raja * Copyright (c) 2015-2023, ARM Limited and Contributors. All rights reserved. 3dff93c86SJuan Castillo * 482cb2c1aSdp-arm * SPDX-License-Identifier: BSD-3-Clause 5dff93c86SJuan Castillo */ 6dff93c86SJuan Castillo 7c3cf06f1SAntonio Nino Diaz #ifndef COT_DEF_H 8c3cf06f1SAntonio Nino Diaz #define COT_DEF_H 9dff93c86SJuan Castillo 10*a8eadc51SGovindraj Raja #include <mbedtls/version.h> 11ff67fca5SPankaj Gupta 12dff93c86SJuan Castillo /* TBBR CoT definitions */ 1344f1aa8eSManish Pandey #if defined(SPD_spmd) 1444f1aa8eSManish Pandey #define COT_MAX_VERIFIED_PARAMS 8 1556b741d3Slaurenw-arm #elif defined(ARM_COT_cca) 1656b741d3Slaurenw-arm #define COT_MAX_VERIFIED_PARAMS 8 1744f1aa8eSManish Pandey #else 18dff93c86SJuan Castillo #define COT_MAX_VERIFIED_PARAMS 4 1944f1aa8eSManish Pandey #endif 20dff93c86SJuan Castillo 21ad43c49eSManish V Badarkhe /* 22ad43c49eSManish V Badarkhe * Maximum key and hash sizes (in DER format). 23ad43c49eSManish V Badarkhe * 24ad43c49eSManish V Badarkhe * Both RSA and ECDSA keys may be used at the same time. In this case, the key 25ad43c49eSManish V Badarkhe * buffers must be big enough to hold either. As RSA keys are bigger than ECDSA 26ad43c49eSManish V Badarkhe * ones for all key sizes we support, they impose the minimum size of these 27ad43c49eSManish V Badarkhe * buffers. 28ad43c49eSManish V Badarkhe */ 29ad43c49eSManish V Badarkhe #if TF_MBEDTLS_USE_RSA 30ad43c49eSManish V Badarkhe #if TF_MBEDTLS_KEY_SIZE == 1024 31ad43c49eSManish V Badarkhe #define PK_DER_LEN 162 32ad43c49eSManish V Badarkhe #elif TF_MBEDTLS_KEY_SIZE == 2048 33ad43c49eSManish V Badarkhe #define PK_DER_LEN 294 34ad43c49eSManish V Badarkhe #elif TF_MBEDTLS_KEY_SIZE == 3072 35ad43c49eSManish V Badarkhe #define PK_DER_LEN 422 36ad43c49eSManish V Badarkhe #elif TF_MBEDTLS_KEY_SIZE == 4096 37ad43c49eSManish V Badarkhe #define PK_DER_LEN 550 38ad43c49eSManish V Badarkhe #else 39ad43c49eSManish V Badarkhe #error "Invalid value for TF_MBEDTLS_KEY_SIZE" 40ad43c49eSManish V Badarkhe #endif 41ad43c49eSManish V Badarkhe #else /* Only using ECDSA keys. */ 421ef303f9SNicolas Toromanoff #define PK_DER_LEN 92 43ad43c49eSManish V Badarkhe #endif 44ad43c49eSManish V Badarkhe 45ad43c49eSManish V Badarkhe #if TF_MBEDTLS_HASH_ALG_ID == TF_MBEDTLS_SHA256 46ad43c49eSManish V Badarkhe #define HASH_DER_LEN 51 47ad43c49eSManish V Badarkhe #elif TF_MBEDTLS_HASH_ALG_ID == TF_MBEDTLS_SHA384 48ad43c49eSManish V Badarkhe #define HASH_DER_LEN 67 49ad43c49eSManish V Badarkhe #elif TF_MBEDTLS_HASH_ALG_ID == TF_MBEDTLS_SHA512 50ad43c49eSManish V Badarkhe #define HASH_DER_LEN 83 51ad43c49eSManish V Badarkhe #else 52ad43c49eSManish V Badarkhe #error "Invalid value for TF_MBEDTLS_HASH_ALG_ID" 53ad43c49eSManish V Badarkhe #endif 54ad43c49eSManish V Badarkhe 55c3cf06f1SAntonio Nino Diaz #endif /* COT_DEF_H */ 56