1 /* 2 * Copyright (c) 2015-2023, Arm Limited and Contributors. All rights reserved. 3 * 4 * SPDX-License-Identifier: BSD-3-Clause 5 */ 6 7 #ifndef TBBR_OID_H 8 #define TBBR_OID_H 9 10 #include "zero_oid.h" 11 12 #define MAX_OID_NAME_LEN 30 13 14 /* 15 * The following is a list of OID values defined and reserved by ARM, which 16 * are used to define the extension fields of the certificate structure, as 17 * defined in the Trusted Board Boot Requirements (TBBR) specification, 18 * ARM DEN0006C-1. 19 */ 20 21 22 /* TrustedFirmwareNVCounter - Non-volatile counter extension */ 23 #define TRUSTED_FW_NVCOUNTER_OID "1.3.6.1.4.1.4128.2100.1" 24 /* NonTrustedFirmwareNVCounter - Non-volatile counter extension */ 25 #define NON_TRUSTED_FW_NVCOUNTER_OID "1.3.6.1.4.1.4128.2100.2" 26 27 28 /* 29 * Non-Trusted Firmware Updater Certificate 30 */ 31 32 /* APFirmwareUpdaterConfigHash - BL2U */ 33 #define AP_FWU_CFG_HASH_OID "1.3.6.1.4.1.4128.2100.101" 34 /* SCPFirmwareUpdaterConfigHash - SCP_BL2U */ 35 #define SCP_FWU_CFG_HASH_OID "1.3.6.1.4.1.4128.2100.102" 36 /* FirmwareUpdaterHash - NS_BL2U */ 37 #define FWU_HASH_OID "1.3.6.1.4.1.4128.2100.103" 38 /* TrustedWatchdogRefreshTime */ 39 #define TRUSTED_WATCHDOG_TIME_OID "1.3.6.1.4.1.4128.2100.104" 40 41 42 /* 43 * Trusted Boot Firmware Certificate 44 */ 45 46 /* TrustedBootFirmwareHash - BL2 */ 47 #define TRUSTED_BOOT_FW_HASH_OID "1.3.6.1.4.1.4128.2100.201" 48 #define TRUSTED_BOOT_FW_CONFIG_HASH_OID "1.3.6.1.4.1.4128.2100.202" 49 #define HW_CONFIG_HASH_OID "1.3.6.1.4.1.4128.2100.203" 50 #define FW_CONFIG_HASH_OID "1.3.6.1.4.1.4128.2100.204" 51 52 /* 53 * Trusted Key Certificate 54 */ 55 56 /* PrimaryDebugCertificatePK */ 57 #define PRIMARY_DEBUG_PK_OID "1.3.6.1.4.1.4128.2100.301" 58 /* TrustedWorldPK */ 59 #define TRUSTED_WORLD_PK_OID "1.3.6.1.4.1.4128.2100.302" 60 /* NonTrustedWorldPK */ 61 #define NON_TRUSTED_WORLD_PK_OID "1.3.6.1.4.1.4128.2100.303" 62 63 64 /* 65 * Trusted Debug Certificate 66 */ 67 68 /* DebugScenario */ 69 #define TRUSTED_DEBUG_SCENARIO_OID "1.3.6.1.4.1.4128.2100.401" 70 /* SoC Specific */ 71 #define TRUSTED_DEBUG_SOC_SPEC_OID "1.3.6.1.4.1.4128.2100.402" 72 /* SecondaryDebugCertPK */ 73 #define SECONDARY_DEBUG_PK_OID "1.3.6.1.4.1.4128.2100.403" 74 75 76 /* 77 * SoC Firmware Key Certificate 78 */ 79 80 /* SoCFirmwareContentCertPK */ 81 #define SOC_FW_CONTENT_CERT_PK_OID "1.3.6.1.4.1.4128.2100.501" 82 83 /* 84 * SoC Firmware Content Certificate 85 */ 86 87 /* APRomPatchHash - BL1_PATCH */ 88 #define APROM_PATCH_HASH_OID "1.3.6.1.4.1.4128.2100.601" 89 /* SoCConfigHash */ 90 #define SOC_CONFIG_HASH_OID "1.3.6.1.4.1.4128.2100.602" 91 /* SoCAPFirmwareHash - BL31 */ 92 #define SOC_AP_FW_HASH_OID "1.3.6.1.4.1.4128.2100.603" 93 /* SoCFirmwareConfigHash = SOC_FW_CONFIG */ 94 #define SOC_FW_CONFIG_HASH_OID "1.3.6.1.4.1.4128.2100.604" 95 96 /* 97 * SCP Firmware Key Certificate 98 */ 99 100 /* SCPFirmwareContentCertPK */ 101 #define SCP_FW_CONTENT_CERT_PK_OID "1.3.6.1.4.1.4128.2100.701" 102 103 104 /* 105 * SCP Firmware Content Certificate 106 */ 107 108 /* SCPFirmwareHash - SCP_BL2 */ 109 #define SCP_FW_HASH_OID "1.3.6.1.4.1.4128.2100.801" 110 /* SCPRomPatchHash - SCP_BL1_PATCH */ 111 #define SCP_ROM_PATCH_HASH_OID "1.3.6.1.4.1.4128.2100.802" 112 113 114 /* 115 * Trusted OS Firmware Key Certificate 116 */ 117 118 /* TrustedOSFirmwareContentCertPK */ 119 #define TRUSTED_OS_FW_CONTENT_CERT_PK_OID "1.3.6.1.4.1.4128.2100.901" 120 121 122 /* 123 * Trusted OS Firmware Content Certificate 124 */ 125 126 /* TrustedOSFirmwareHash - BL32 */ 127 #define TRUSTED_OS_FW_HASH_OID "1.3.6.1.4.1.4128.2100.1001" 128 /* TrustedOSExtra1FirmwareHash - BL32 Extra1 */ 129 #define TRUSTED_OS_FW_EXTRA1_HASH_OID "1.3.6.1.4.1.4128.2100.1002" 130 /* TrustedOSExtra2FirmwareHash - BL32 Extra2 */ 131 #define TRUSTED_OS_FW_EXTRA2_HASH_OID "1.3.6.1.4.1.4128.2100.1003" 132 /* TrustedOSFirmwareConfigHash - TOS_FW_CONFIG */ 133 #define TRUSTED_OS_FW_CONFIG_HASH_OID "1.3.6.1.4.1.4128.2100.1004" 134 135 136 /* 137 * Non-Trusted Firmware Key Certificate 138 */ 139 140 /* NonTrustedFirmwareContentCertPK */ 141 #define NON_TRUSTED_FW_CONTENT_CERT_PK_OID "1.3.6.1.4.1.4128.2100.1101" 142 143 144 /* 145 * Non-Trusted Firmware Content Certificate 146 */ 147 148 /* NonTrustedWorldBootloaderHash - BL33 */ 149 #define NON_TRUSTED_WORLD_BOOTLOADER_HASH_OID "1.3.6.1.4.1.4128.2100.1201" 150 /* NonTrustedFirmwareConfigHash - NT_FW_CONFIG */ 151 #define NON_TRUSTED_FW_CONFIG_HASH_OID "1.3.6.1.4.1.4128.2100.1202" 152 153 /* 154 * Secure Partitions Content Certificate 155 */ 156 #define SP_PKG1_HASH_OID "1.3.6.1.4.1.4128.2100.1301" 157 #define SP_PKG2_HASH_OID "1.3.6.1.4.1.4128.2100.1302" 158 #define SP_PKG3_HASH_OID "1.3.6.1.4.1.4128.2100.1303" 159 #define SP_PKG4_HASH_OID "1.3.6.1.4.1.4128.2100.1304" 160 #define SP_PKG5_HASH_OID "1.3.6.1.4.1.4128.2100.1305" 161 #define SP_PKG6_HASH_OID "1.3.6.1.4.1.4128.2100.1306" 162 #define SP_PKG7_HASH_OID "1.3.6.1.4.1.4128.2100.1307" 163 #define SP_PKG8_HASH_OID "1.3.6.1.4.1.4128.2100.1308" 164 165 /* 166 * Public Keys present in SOC FW content certificates authenticate BL31 and 167 * its configuration. 168 */ 169 #define BL31_IMAGE_KEY_OID SOC_FW_CONTENT_CERT_PK_OID 170 #define SOC_FW_CONFIG_KEY_OID SOC_FW_CONTENT_CERT_PK_OID 171 #define HW_CONFIG_KEY_OID ZERO_OID 172 173 #ifdef PLAT_DEF_OID 174 #include <platform_oid.h> 175 #endif 176 #endif /* TBBR_OID_H */ 177