xref: /rk3399_ARM-atf/include/common/tbbr/cot_def.h (revision a8eadc51a32a30fceb64f534c378ba66b876e026)
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