summaryrefslogtreecommitdiff
path: root/include/plat
diff options
context:
space:
mode:
authorlaurenw-arm <lauren.wehrmeister@arm.com>2022-10-28 11:26:32 -0500
committerlaurenw-arm <lauren.wehrmeister@arm.com>2022-12-09 14:54:50 -0600
commit5f899286eac994b8337959ad924a43c1a4a543c9 (patch)
tree060c08d1354c36f0ad1aa28b75c8414096201581 /include/plat
parent10f4d1a2d053b0740644d704d7583666913e5092 (diff)
downloadarm-trusted-firmware-5f899286eac994b8337959ad924a43c1a4a543c9.tar.gz
feat(arm): add ARM_ROTPK_LOCATION variant full key
Add support for ARM_ROTPK_LOCATION=devel_full_dev_rsa_key, which implements the scenario where the platform provides the full ROTPK, as opposed to the hash of it. This returns a 2kB development RSA key embedded into the firmware. The motivation for this patch is to extend our test coverage in the CI. Right now, the authentication framework allows platforms to return either the full ROTPK or a hash of it (*). However, the FVP platform only supports returning a hash currently so we cannot easily exercise the full key scenario. This patch adds that capability. (*) Or even no key at all if it's not deployed on the platform yet, as is typically the case on pre-production/developement platforms. Signed-off-by: Lauren Wehrmeister <lauren.wehrmeister@arm.com> Change-Id: Ie869cca1082410e63894e2b7dea2d31155684105
Diffstat (limited to 'include/plat')
-rw-r--r--include/plat/arm/common/arm_def.h4
-rw-r--r--include/plat/arm/common/plat_arm.h2
2 files changed, 4 insertions, 2 deletions
diff --git a/include/plat/arm/common/arm_def.h b/include/plat/arm/common/arm_def.h
index ab0e4ff2c..36b1bdb6d 100644
--- a/include/plat/arm/common/arm_def.h
+++ b/include/plat/arm/common/arm_def.h
@@ -20,10 +20,12 @@
*****************************************************************************/
/*
- * Root of trust key hash lengths
+ * Root of trust key lengths
*/
#define ARM_ROTPK_HEADER_LEN 19
#define ARM_ROTPK_HASH_LEN 32
+/* ARM_ROTPK_KEY_LEN includes DER header + raw key material */
+#define ARM_ROTPK_KEY_LEN 294
/* Special value used to verify platform parameters from BL2 to BL31 */
#define ARM_BL31_PLAT_PARAM_VAL ULL(0x0f1e2d3c4b5a6978)
diff --git a/include/plat/arm/common/plat_arm.h b/include/plat/arm/common/plat_arm.h
index 6c0d91d1f..494e4705f 100644
--- a/include/plat/arm/common/plat_arm.h
+++ b/include/plat/arm/common/plat_arm.h
@@ -159,7 +159,7 @@ void arm_setup_romlib(void);
#define ARM_ROTPK_REGS_ID 1
#define ARM_ROTPK_DEVEL_RSA_ID 2
#define ARM_ROTPK_DEVEL_ECDSA_ID 3
-
+#define ARM_ROTPK_DEVEL_FULL_DEV_RSA_KEY_ID 4
/* IO storage utility functions */
int arm_io_setup(void);