xref: /rk3399_ARM-atf/tools/cert_create/src/tbbr/tbb_ext.c (revision 982ee634e7c4decd941b2fe97d85181b5615797a)
155e291a4SJuan Castillo /*
2*d57362bdSXialin Liu  * Copyright (c) 2015-2025, ARM Limited and Contributors. All rights reserved.
355e291a4SJuan Castillo  *
482cb2c1aSdp-arm  * SPDX-License-Identifier: BSD-3-Clause
555e291a4SJuan Castillo  */
655e291a4SJuan Castillo 
755e291a4SJuan Castillo #include <stdio.h>
855e291a4SJuan Castillo #include <string.h>
955e291a4SJuan Castillo #include <openssl/err.h>
1055e291a4SJuan Castillo #include <openssl/x509v3.h>
11bb41eb7aSMasahiro Yamada 
12bb41eb7aSMasahiro Yamada #if USE_TBBR_DEFS
13bb41eb7aSMasahiro Yamada #include <tbbr_oid.h>
14bb41eb7aSMasahiro Yamada #else
15bb41eb7aSMasahiro Yamada #include <platform_oid.h>
16bb41eb7aSMasahiro Yamada #endif
17bb41eb7aSMasahiro Yamada 
1855e291a4SJuan Castillo #include "ext.h"
1955e291a4SJuan Castillo #include "tbbr/tbb_ext.h"
2055e291a4SJuan Castillo #include "tbbr/tbb_key.h"
2155e291a4SJuan Castillo 
2255e291a4SJuan Castillo static ext_t tbb_ext[] = {
23516beb58SJuan Castillo 	[TRUSTED_FW_NVCOUNTER_EXT] = {
24516beb58SJuan Castillo 		.oid = TRUSTED_FW_NVCOUNTER_OID,
2596103d5aSJuan Castillo 		.opt = "tfw-nvctr",
2696103d5aSJuan Castillo 		.help_msg = "Trusted Firmware Non-Volatile counter value",
2755e291a4SJuan Castillo 		.sn = "TrustedWorldNVCounter",
2855e291a4SJuan Castillo 		.ln = "Trusted World Non-Volatile counter",
2955e291a4SJuan Castillo 		.asn1_type = V_ASN1_INTEGER,
3055e291a4SJuan Castillo 		.type = EXT_TYPE_NVCOUNTER,
3196103d5aSJuan Castillo 		.attr.nvctr_type = NVCTR_TYPE_TFW
3255e291a4SJuan Castillo 	},
33516beb58SJuan Castillo 	[NON_TRUSTED_FW_NVCOUNTER_EXT] = {
34516beb58SJuan Castillo 		.oid = NON_TRUSTED_FW_NVCOUNTER_OID,
3596103d5aSJuan Castillo 		.opt = "ntfw-nvctr",
3696103d5aSJuan Castillo 		.help_msg = "Non-Trusted Firmware Non-Volatile counter value",
3755e291a4SJuan Castillo 		.sn = "NormalWorldNVCounter",
3896103d5aSJuan Castillo 		.ln = "Non-Trusted Firmware Non-Volatile counter",
3955e291a4SJuan Castillo 		.asn1_type = V_ASN1_INTEGER,
4055e291a4SJuan Castillo 		.type = EXT_TYPE_NVCOUNTER,
4196103d5aSJuan Castillo 		.attr.nvctr_type = NVCTR_TYPE_NTFW
4255e291a4SJuan Castillo 	},
43516beb58SJuan Castillo 	[TRUSTED_BOOT_FW_HASH_EXT] = {
44516beb58SJuan Castillo 		.oid = TRUSTED_BOOT_FW_HASH_OID,
45516beb58SJuan Castillo 		.opt = "tb-fw",
46159807e2SJuan Castillo 		.help_msg = "Trusted Boot Firmware image file",
4755e291a4SJuan Castillo 		.sn = "TrustedBootFirmwareHash",
48516beb58SJuan Castillo 		.ln = "Trusted Boot Firmware hash (SHA256)",
4955e291a4SJuan Castillo 		.asn1_type = V_ASN1_OCTET_STRING,
50*d57362bdSXialin Liu 		.type = EXT_TYPE_HASH,
51*d57362bdSXialin Liu 		.optional = 1
5255e291a4SJuan Castillo 	},
53e24659dfSSoby Mathew 	[TRUSTED_BOOT_FW_CONFIG_HASH_EXT] = {
54e24659dfSSoby Mathew 		.oid = TRUSTED_BOOT_FW_CONFIG_HASH_OID,
55e24659dfSSoby Mathew 		.opt = "tb-fw-config",
56e24659dfSSoby Mathew 		.help_msg = "Trusted Boot Firmware Config file",
57e24659dfSSoby Mathew 		.sn = "TrustedBootFirmwareConfigHash",
58e24659dfSSoby Mathew 		.ln = "Trusted Boot Firmware Config hash",
59e24659dfSSoby Mathew 		.asn1_type = V_ASN1_OCTET_STRING,
60e24659dfSSoby Mathew 		.type = EXT_TYPE_HASH,
61e24659dfSSoby Mathew 		.optional = 1
62e24659dfSSoby Mathew 	},
63e24659dfSSoby Mathew 	[HW_CONFIG_HASH_EXT] = {
64e24659dfSSoby Mathew 		.oid = HW_CONFIG_HASH_OID,
65e24659dfSSoby Mathew 		.opt = "hw-config",
66e24659dfSSoby Mathew 		.help_msg = "HW Config file",
67e24659dfSSoby Mathew 		.sn = "HWConfigHash",
68e24659dfSSoby Mathew 		.ln = "HW Config hash",
69e24659dfSSoby Mathew 		.asn1_type = V_ASN1_OCTET_STRING,
70e24659dfSSoby Mathew 		.type = EXT_TYPE_HASH,
71e24659dfSSoby Mathew 		.optional = 1
72e24659dfSSoby Mathew 	},
739b3ca9b1SManish V Badarkhe 	[FW_CONFIG_HASH_EXT] = {
749b3ca9b1SManish V Badarkhe 		.oid = FW_CONFIG_HASH_OID,
759b3ca9b1SManish V Badarkhe 		.opt = "fw-config",
769b3ca9b1SManish V Badarkhe 		.help_msg = "Firmware Config file",
779b3ca9b1SManish V Badarkhe 		.sn = "FirmwareConfigHash",
789b3ca9b1SManish V Badarkhe 		.ln = "Firmware Config hash",
799b3ca9b1SManish V Badarkhe 		.asn1_type = V_ASN1_OCTET_STRING,
809b3ca9b1SManish V Badarkhe 		.type = EXT_TYPE_HASH,
819b3ca9b1SManish V Badarkhe 		.optional = 1
829b3ca9b1SManish V Badarkhe 	},
83516beb58SJuan Castillo 	[TRUSTED_WORLD_PK_EXT] = {
84516beb58SJuan Castillo 		.oid = TRUSTED_WORLD_PK_OID,
8555e291a4SJuan Castillo 		.sn = "TrustedWorldPublicKey",
8655e291a4SJuan Castillo 		.ln = "Trusted World Public Key",
8755e291a4SJuan Castillo 		.asn1_type = V_ASN1_OCTET_STRING,
8855e291a4SJuan Castillo 		.type = EXT_TYPE_PKEY,
8996103d5aSJuan Castillo 		.attr.key = TRUSTED_WORLD_KEY
9055e291a4SJuan Castillo 	},
91516beb58SJuan Castillo 	[NON_TRUSTED_WORLD_PK_EXT] = {
92516beb58SJuan Castillo 		.oid = NON_TRUSTED_WORLD_PK_OID,
9355e291a4SJuan Castillo 		.sn = "NonTrustedWorldPublicKey",
9455e291a4SJuan Castillo 		.ln = "Non-Trusted World Public Key",
9555e291a4SJuan Castillo 		.asn1_type = V_ASN1_OCTET_STRING,
9655e291a4SJuan Castillo 		.type = EXT_TYPE_PKEY,
9796103d5aSJuan Castillo 		.attr.key = NON_TRUSTED_WORLD_KEY
9855e291a4SJuan Castillo 	},
99516beb58SJuan Castillo 	[SCP_FW_CONTENT_CERT_PK_EXT] = {
100516beb58SJuan Castillo 		.oid = SCP_FW_CONTENT_CERT_PK_OID,
10155e291a4SJuan Castillo 		.sn = "SCPFirmwareContentCertPK",
10255e291a4SJuan Castillo 		.ln = "SCP Firmware content certificate public key",
10355e291a4SJuan Castillo 		.asn1_type = V_ASN1_OCTET_STRING,
10455e291a4SJuan Castillo 		.type = EXT_TYPE_PKEY,
10596103d5aSJuan Castillo 		.attr.key = SCP_FW_CONTENT_CERT_KEY
10655e291a4SJuan Castillo 	},
107516beb58SJuan Castillo 	[SCP_FW_HASH_EXT] = {
108516beb58SJuan Castillo 		.oid = SCP_FW_HASH_OID,
109516beb58SJuan Castillo 		.opt = "scp-fw",
110159807e2SJuan Castillo 		.help_msg = "SCP Firmware image file",
11155e291a4SJuan Castillo 		.sn = "SCPFirmwareHash",
112516beb58SJuan Castillo 		.ln = "SCP Firmware hash (SHA256)",
11355e291a4SJuan Castillo 		.asn1_type = V_ASN1_OCTET_STRING,
11455e291a4SJuan Castillo 		.type = EXT_TYPE_HASH
11555e291a4SJuan Castillo 	},
116516beb58SJuan Castillo 	[SOC_FW_CONTENT_CERT_PK_EXT] = {
117516beb58SJuan Castillo 		.oid = SOC_FW_CONTENT_CERT_PK_OID,
11855e291a4SJuan Castillo 		.sn = "SoCFirmwareContentCertPK",
11955e291a4SJuan Castillo 		.ln = "SoC Firmware content certificate public key",
12055e291a4SJuan Castillo 		.asn1_type = V_ASN1_OCTET_STRING,
12155e291a4SJuan Castillo 		.type = EXT_TYPE_PKEY,
12296103d5aSJuan Castillo 		.attr.key = SOC_FW_CONTENT_CERT_KEY
12355e291a4SJuan Castillo 	},
124516beb58SJuan Castillo 	[SOC_AP_FW_HASH_EXT] = {
125516beb58SJuan Castillo 		.oid = SOC_AP_FW_HASH_OID,
126516beb58SJuan Castillo 		.opt = "soc-fw",
127159807e2SJuan Castillo 		.help_msg = "SoC AP Firmware image file",
12855e291a4SJuan Castillo 		.sn = "SoCAPFirmwareHash",
129516beb58SJuan Castillo 		.ln = "SoC AP Firmware hash (SHA256)",
13055e291a4SJuan Castillo 		.asn1_type = V_ASN1_OCTET_STRING,
13155e291a4SJuan Castillo 		.type = EXT_TYPE_HASH
13255e291a4SJuan Castillo 	},
13317bc617eSSoby Mathew 	[SOC_FW_CONFIG_HASH_EXT] = {
13417bc617eSSoby Mathew 		.oid = SOC_FW_CONFIG_HASH_OID,
13517bc617eSSoby Mathew 		.opt = "soc-fw-config",
13617bc617eSSoby Mathew 		.help_msg = "SoC Firmware Config file",
13717bc617eSSoby Mathew 		.sn = "SocFirmwareConfigHash",
13817bc617eSSoby Mathew 		.ln = "SoC Firmware Config hash",
13917bc617eSSoby Mathew 		.asn1_type = V_ASN1_OCTET_STRING,
14017bc617eSSoby Mathew 		.type = EXT_TYPE_HASH,
14117bc617eSSoby Mathew 		.optional = 1
14217bc617eSSoby Mathew 	},
143516beb58SJuan Castillo 	[TRUSTED_OS_FW_CONTENT_CERT_PK_EXT] = {
144516beb58SJuan Castillo 		.oid = TRUSTED_OS_FW_CONTENT_CERT_PK_OID,
14555e291a4SJuan Castillo 		.sn = "TrustedOSFirmwareContentCertPK",
14655e291a4SJuan Castillo 		.ln = "Trusted OS Firmware content certificate public key",
14755e291a4SJuan Castillo 		.asn1_type = V_ASN1_OCTET_STRING,
14855e291a4SJuan Castillo 		.type = EXT_TYPE_PKEY,
14996103d5aSJuan Castillo 		.attr.key = TRUSTED_OS_FW_CONTENT_CERT_KEY
15055e291a4SJuan Castillo 	},
151516beb58SJuan Castillo 	[TRUSTED_OS_FW_HASH_EXT] = {
152516beb58SJuan Castillo 		.oid = TRUSTED_OS_FW_HASH_OID,
153516beb58SJuan Castillo 		.opt = "tos-fw",
154159807e2SJuan Castillo 		.help_msg = "Trusted OS image file",
15555e291a4SJuan Castillo 		.sn = "TrustedOSHash",
156516beb58SJuan Castillo 		.ln = "Trusted OS hash (SHA256)",
15755e291a4SJuan Castillo 		.asn1_type = V_ASN1_OCTET_STRING,
15855e291a4SJuan Castillo 		.type = EXT_TYPE_HASH
15955e291a4SJuan Castillo 	},
16071fb3964SSummer Qin 	[TRUSTED_OS_FW_EXTRA1_HASH_EXT] = {
16171fb3964SSummer Qin 		.oid = TRUSTED_OS_FW_EXTRA1_HASH_OID,
16271fb3964SSummer Qin 		.opt = "tos-fw-extra1",
16371fb3964SSummer Qin 		.help_msg = "Trusted OS Extra1 image file",
16471fb3964SSummer Qin 		.sn = "TrustedOSExtra1Hash",
16571fb3964SSummer Qin 		.ln = "Trusted OS Extra1 hash (SHA256)",
16671fb3964SSummer Qin 		.asn1_type = V_ASN1_OCTET_STRING,
16771fb3964SSummer Qin 		.type = EXT_TYPE_HASH,
16871fb3964SSummer Qin 		.optional = 1
16971fb3964SSummer Qin 	},
17071fb3964SSummer Qin 	[TRUSTED_OS_FW_EXTRA2_HASH_EXT] = {
17171fb3964SSummer Qin 		.oid = TRUSTED_OS_FW_EXTRA2_HASH_OID,
17271fb3964SSummer Qin 		.opt = "tos-fw-extra2",
17371fb3964SSummer Qin 		.help_msg = "Trusted OS Extra2 image file",
17471fb3964SSummer Qin 		.sn = "TrustedOSExtra2Hash",
17571fb3964SSummer Qin 		.ln = "Trusted OS Extra2 hash (SHA256)",
17671fb3964SSummer Qin 		.asn1_type = V_ASN1_OCTET_STRING,
17771fb3964SSummer Qin 		.type = EXT_TYPE_HASH,
17871fb3964SSummer Qin 		.optional = 1
17971fb3964SSummer Qin 	},
18017bc617eSSoby Mathew 	[TRUSTED_OS_FW_CONFIG_HASH_EXT] = {
18117bc617eSSoby Mathew 		.oid = TRUSTED_OS_FW_CONFIG_HASH_OID,
18217bc617eSSoby Mathew 		.opt = "tos-fw-config",
18317bc617eSSoby Mathew 		.help_msg = "Trusted OS Firmware Config file",
18417bc617eSSoby Mathew 		.sn = "TrustedOSFirmwareConfigHash",
18517bc617eSSoby Mathew 		.ln = "Trusted OS Firmware Config hash",
18617bc617eSSoby Mathew 		.asn1_type = V_ASN1_OCTET_STRING,
18717bc617eSSoby Mathew 		.type = EXT_TYPE_HASH,
18817bc617eSSoby Mathew 		.optional = 1
18917bc617eSSoby Mathew 	},
190516beb58SJuan Castillo 	[NON_TRUSTED_FW_CONTENT_CERT_PK_EXT] = {
191516beb58SJuan Castillo 		.oid = NON_TRUSTED_FW_CONTENT_CERT_PK_OID,
19255e291a4SJuan Castillo 		.sn = "NonTrustedFirmwareContentCertPK",
19355e291a4SJuan Castillo 		.ln = "Non-Trusted Firmware content certificate public key",
19455e291a4SJuan Castillo 		.asn1_type = V_ASN1_OCTET_STRING,
19555e291a4SJuan Castillo 		.type = EXT_TYPE_PKEY,
19696103d5aSJuan Castillo 		.attr.key = NON_TRUSTED_FW_CONTENT_CERT_KEY
19755e291a4SJuan Castillo 	},
198516beb58SJuan Castillo 	[NON_TRUSTED_WORLD_BOOTLOADER_HASH_EXT] = {
199516beb58SJuan Castillo 		.oid = NON_TRUSTED_WORLD_BOOTLOADER_HASH_OID,
200516beb58SJuan Castillo 		.opt = "nt-fw",
201159807e2SJuan Castillo 		.help_msg = "Non-Trusted World Bootloader image file",
20255e291a4SJuan Castillo 		.sn = "NonTrustedWorldBootloaderHash",
203516beb58SJuan Castillo 		.ln = "Non-Trusted World hash (SHA256)",
20455e291a4SJuan Castillo 		.asn1_type = V_ASN1_OCTET_STRING,
20555e291a4SJuan Castillo 		.type = EXT_TYPE_HASH
206cebe1f23SYatharth Kochar 	},
20717bc617eSSoby Mathew 	[NON_TRUSTED_FW_CONFIG_HASH_EXT] = {
20817bc617eSSoby Mathew 		.oid = NON_TRUSTED_FW_CONFIG_HASH_OID,
20917bc617eSSoby Mathew 		.opt = "nt-fw-config",
21017bc617eSSoby Mathew 		.help_msg = "Non Trusted OS Firmware Config file",
21117bc617eSSoby Mathew 		.sn = "NonTrustedOSFirmwareConfigHash",
21217bc617eSSoby Mathew 		.ln = "Non-Trusted OS Firmware Config hash",
21317bc617eSSoby Mathew 		.asn1_type = V_ASN1_OCTET_STRING,
21417bc617eSSoby Mathew 		.type = EXT_TYPE_HASH,
21517bc617eSSoby Mathew 		.optional = 1
21617bc617eSSoby Mathew 	},
217a8818bbfSManish Pandey 	[SP_PKG1_HASH_EXT] = {
218a8818bbfSManish Pandey 		.oid = SP_PKG1_HASH_OID,
219a8818bbfSManish Pandey 		.opt = "sp-pkg1",
220a8818bbfSManish Pandey 		.help_msg = "Secure Partition Package1 file",
221a8818bbfSManish Pandey 		.sn = "SPPkg1Hash",
222a8818bbfSManish Pandey 		.ln = "SP Pkg1 hash (SHA256)",
223a8818bbfSManish Pandey 		.asn1_type = V_ASN1_OCTET_STRING,
224a8818bbfSManish Pandey 		.type = EXT_TYPE_HASH,
225a8818bbfSManish Pandey 		.optional = 1
226a8818bbfSManish Pandey 	},
227a8818bbfSManish Pandey 	[SP_PKG2_HASH_EXT] = {
228a8818bbfSManish Pandey 		.oid = SP_PKG2_HASH_OID,
229a8818bbfSManish Pandey 		.opt = "sp-pkg2",
230a8818bbfSManish Pandey 		.help_msg = "Secure Partition Package2 file",
231a8818bbfSManish Pandey 		.sn = "SPPkg2Hash",
232a8818bbfSManish Pandey 		.ln = "SP Pkg2 hash (SHA256)",
233a8818bbfSManish Pandey 		.asn1_type = V_ASN1_OCTET_STRING,
234a8818bbfSManish Pandey 		.type = EXT_TYPE_HASH,
235a8818bbfSManish Pandey 		.optional = 1
236a8818bbfSManish Pandey 	},
237a8818bbfSManish Pandey 	[SP_PKG3_HASH_EXT] = {
238a8818bbfSManish Pandey 		.oid = SP_PKG3_HASH_OID,
239a8818bbfSManish Pandey 		.opt = "sp-pkg3",
240a8818bbfSManish Pandey 		.help_msg = "Secure Partition Package3 file",
241a8818bbfSManish Pandey 		.sn = "SPPkg3Hash",
242a8818bbfSManish Pandey 		.ln = "SP Pkg3 hash (SHA256)",
243a8818bbfSManish Pandey 		.asn1_type = V_ASN1_OCTET_STRING,
244a8818bbfSManish Pandey 		.type = EXT_TYPE_HASH,
245a8818bbfSManish Pandey 		.optional = 1
246a8818bbfSManish Pandey 	},
247a8818bbfSManish Pandey 	[SP_PKG4_HASH_EXT] = {
248a8818bbfSManish Pandey 		.oid = SP_PKG4_HASH_OID,
249a8818bbfSManish Pandey 		.opt = "sp-pkg4",
250a8818bbfSManish Pandey 		.help_msg = "Secure Partition Package4 file",
251a8818bbfSManish Pandey 		.sn = "SPPkg4Hash",
252a8818bbfSManish Pandey 		.ln = "SP Pkg4 hash (SHA256)",
253a8818bbfSManish Pandey 		.asn1_type = V_ASN1_OCTET_STRING,
254a8818bbfSManish Pandey 		.type = EXT_TYPE_HASH,
255a8818bbfSManish Pandey 		.optional = 1
256a8818bbfSManish Pandey 	},
257a8818bbfSManish Pandey 	[SP_PKG5_HASH_EXT] = {
258a8818bbfSManish Pandey 		.oid = SP_PKG5_HASH_OID,
259a8818bbfSManish Pandey 		.opt = "sp-pkg5",
260a8818bbfSManish Pandey 		.help_msg = "Secure Partition Package5 file",
261a8818bbfSManish Pandey 		.sn = "SPPkg5Hash",
262a8818bbfSManish Pandey 		.ln = "SP Pkg5 hash (SHA256)",
263a8818bbfSManish Pandey 		.asn1_type = V_ASN1_OCTET_STRING,
264a8818bbfSManish Pandey 		.type = EXT_TYPE_HASH,
265a8818bbfSManish Pandey 		.optional = 1
266a8818bbfSManish Pandey 	},
267a8818bbfSManish Pandey 	[SP_PKG6_HASH_EXT] = {
268a8818bbfSManish Pandey 		.oid = SP_PKG6_HASH_OID,
269a8818bbfSManish Pandey 		.opt = "sp-pkg6",
270a8818bbfSManish Pandey 		.help_msg = "Secure Partition Package6 file",
271a8818bbfSManish Pandey 		.sn = "SPPkg6Hash",
272a8818bbfSManish Pandey 		.ln = "SP Pkg6 hash (SHA256)",
273a8818bbfSManish Pandey 		.asn1_type = V_ASN1_OCTET_STRING,
274a8818bbfSManish Pandey 		.type = EXT_TYPE_HASH,
275a8818bbfSManish Pandey 		.optional = 1
276a8818bbfSManish Pandey 	},
277a8818bbfSManish Pandey 	[SP_PKG7_HASH_EXT] = {
278a8818bbfSManish Pandey 		.oid = SP_PKG7_HASH_OID,
279a8818bbfSManish Pandey 		.opt = "sp-pkg7",
280a8818bbfSManish Pandey 		.help_msg = "Secure Partition Package7 file",
281a8818bbfSManish Pandey 		.sn = "SPPkg7Hash",
282a8818bbfSManish Pandey 		.ln = "SP Pkg7 hash (SHA256)",
283a8818bbfSManish Pandey 		.asn1_type = V_ASN1_OCTET_STRING,
284a8818bbfSManish Pandey 		.type = EXT_TYPE_HASH,
285a8818bbfSManish Pandey 		.optional = 1
286a8818bbfSManish Pandey 	},
287a8818bbfSManish Pandey 	[SP_PKG8_HASH_EXT] = {
288a8818bbfSManish Pandey 		.oid = SP_PKG8_HASH_OID,
289a8818bbfSManish Pandey 		.opt = "sp-pkg8",
290a8818bbfSManish Pandey 		.help_msg = "Secure Partition Package8 file",
291a8818bbfSManish Pandey 		.sn = "SPPkg8Hash",
292a8818bbfSManish Pandey 		.ln = "SP Pkg8 hash (SHA256)",
293a8818bbfSManish Pandey 		.asn1_type = V_ASN1_OCTET_STRING,
294a8818bbfSManish Pandey 		.type = EXT_TYPE_HASH,
295a8818bbfSManish Pandey 		.optional = 1
296a8818bbfSManish Pandey 	},
297516beb58SJuan Castillo 	[SCP_FWU_CFG_HASH_EXT] = {
298516beb58SJuan Castillo 		.oid = SCP_FWU_CFG_HASH_OID,
299516beb58SJuan Castillo 		.opt = "scp-fwu-cfg",
300159807e2SJuan Castillo 		.help_msg = "SCP Firmware Update Config image file",
301cebe1f23SYatharth Kochar 		.sn = "SCPFWUpdateConfig",
302516beb58SJuan Castillo 		.ln = "SCP Firmware Update Config hash (SHA256)",
303cebe1f23SYatharth Kochar 		.asn1_type = V_ASN1_OCTET_STRING,
304cebe1f23SYatharth Kochar 		.type = EXT_TYPE_HASH,
305cebe1f23SYatharth Kochar 		.optional = 1
306cebe1f23SYatharth Kochar 	},
307516beb58SJuan Castillo 	[AP_FWU_CFG_HASH_EXT] = {
308516beb58SJuan Castillo 		.oid = AP_FWU_CFG_HASH_OID,
309516beb58SJuan Castillo 		.opt = "ap-fwu-cfg",
310159807e2SJuan Castillo 		.help_msg = "AP Firmware Update Config image file",
311cebe1f23SYatharth Kochar 		.sn = "APFWUpdateConfig",
312516beb58SJuan Castillo 		.ln = "AP Firmware Update Config hash (SHA256)",
313cebe1f23SYatharth Kochar 		.asn1_type = V_ASN1_OCTET_STRING,
314cebe1f23SYatharth Kochar 		.type = EXT_TYPE_HASH,
315cebe1f23SYatharth Kochar 		.optional = 1
316cebe1f23SYatharth Kochar 	},
317516beb58SJuan Castillo 	[FWU_HASH_EXT] = {
318516beb58SJuan Castillo 		.oid = FWU_HASH_OID,
319516beb58SJuan Castillo 		.opt = "fwu",
320159807e2SJuan Castillo 		.help_msg = "Firmware Updater image file",
321cebe1f23SYatharth Kochar 		.sn = "FWUpdaterHash",
322516beb58SJuan Castillo 		.ln = "Firmware Updater hash (SHA256)",
323cebe1f23SYatharth Kochar 		.asn1_type = V_ASN1_OCTET_STRING,
324cebe1f23SYatharth Kochar 		.type = EXT_TYPE_HASH,
325cebe1f23SYatharth Kochar 		.optional = 1
32655e291a4SJuan Castillo 	}
32755e291a4SJuan Castillo };
32855e291a4SJuan Castillo 
32955e291a4SJuan Castillo REGISTER_EXTENSIONS(tbb_ext);
330