xref: /rk3399_ARM-atf/include/common/tbbr/cot_def.h (revision 56b741d3e41cd6b2f6863a372a9489c819e2b0e9)
1dff93c86SJuan Castillo /*
2*56b741d3Slaurenw-arm  * Copyright (c) 2015-2022, 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 
10ff67fca5SPankaj Gupta #ifdef MBEDTLS_CONFIG_FILE
11ff67fca5SPankaj Gupta #include MBEDTLS_CONFIG_FILE
12ff67fca5SPankaj Gupta #endif
13ff67fca5SPankaj Gupta 
14dff93c86SJuan Castillo /* TBBR CoT definitions */
1544f1aa8eSManish Pandey #if defined(SPD_spmd)
1644f1aa8eSManish Pandey #define COT_MAX_VERIFIED_PARAMS		8
17*56b741d3Slaurenw-arm #elif defined(ARM_COT_cca)
18*56b741d3Slaurenw-arm #define COT_MAX_VERIFIED_PARAMS		8
1944f1aa8eSManish Pandey #else
20dff93c86SJuan Castillo #define COT_MAX_VERIFIED_PARAMS		4
2144f1aa8eSManish Pandey #endif
22dff93c86SJuan Castillo 
23ad43c49eSManish V Badarkhe /*
24ad43c49eSManish V Badarkhe  * Maximum key and hash sizes (in DER format).
25ad43c49eSManish V Badarkhe  *
26ad43c49eSManish V Badarkhe  * Both RSA and ECDSA keys may be used at the same time. In this case, the key
27ad43c49eSManish V Badarkhe  * buffers must be big enough to hold either. As RSA keys are bigger than ECDSA
28ad43c49eSManish V Badarkhe  * ones for all key sizes we support, they impose the minimum size of these
29ad43c49eSManish V Badarkhe  * buffers.
30ad43c49eSManish V Badarkhe  */
31ad43c49eSManish V Badarkhe #if TF_MBEDTLS_USE_RSA
32ad43c49eSManish V Badarkhe #if TF_MBEDTLS_KEY_SIZE == 1024
33ad43c49eSManish V Badarkhe #define PK_DER_LEN                      162
34ad43c49eSManish V Badarkhe #elif TF_MBEDTLS_KEY_SIZE == 2048
35ad43c49eSManish V Badarkhe #define PK_DER_LEN                      294
36ad43c49eSManish V Badarkhe #elif TF_MBEDTLS_KEY_SIZE == 3072
37ad43c49eSManish V Badarkhe #define PK_DER_LEN                      422
38ad43c49eSManish V Badarkhe #elif TF_MBEDTLS_KEY_SIZE == 4096
39ad43c49eSManish V Badarkhe #define PK_DER_LEN                      550
40ad43c49eSManish V Badarkhe #else
41ad43c49eSManish V Badarkhe #error "Invalid value for TF_MBEDTLS_KEY_SIZE"
42ad43c49eSManish V Badarkhe #endif
43ad43c49eSManish V Badarkhe #else /* Only using ECDSA keys. */
44ad43c49eSManish V Badarkhe #define PK_DER_LEN                      91
45ad43c49eSManish V Badarkhe #endif
46ad43c49eSManish V Badarkhe 
47ad43c49eSManish V Badarkhe #if TF_MBEDTLS_HASH_ALG_ID == TF_MBEDTLS_SHA256
48ad43c49eSManish V Badarkhe #define HASH_DER_LEN                    51
49ad43c49eSManish V Badarkhe #elif TF_MBEDTLS_HASH_ALG_ID == TF_MBEDTLS_SHA384
50ad43c49eSManish V Badarkhe #define HASH_DER_LEN                    67
51ad43c49eSManish V Badarkhe #elif TF_MBEDTLS_HASH_ALG_ID == TF_MBEDTLS_SHA512
52ad43c49eSManish V Badarkhe #define HASH_DER_LEN                    83
53ad43c49eSManish V Badarkhe #else
54ad43c49eSManish V Badarkhe #error "Invalid value for TF_MBEDTLS_HASH_ALG_ID"
55ad43c49eSManish V Badarkhe #endif
56ad43c49eSManish V Badarkhe 
57c3cf06f1SAntonio Nino Diaz #endif /* COT_DEF_H */
58