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