diff options
author | Jens Wiklander <jens.wiklander@linaro.org> | 2015-05-05 14:59:15 +0200 |
---|---|---|
committer | Pascal Brand <pascal.brand@st.com> | 2015-09-09 13:49:21 +0200 |
commit | bc420748bfc44a9e09000a3966fc59e9e0219df4 (patch) | |
tree | 4efdf41cb814f5f610a8204193c8f99a2306f2d9 /mk/config.mk | |
parent | fee0078c423bb924ee44687037d0038138be2233 (diff) |
TA as ELF + signature
Changes format of TA to use the ELF format instead. This patch also adds
signature checking of the TA. The format of the TA is:
<Signed header>
<ELF header>
<Program header> (part of ELF spec, pointing out segments to load)
<Sections>
A struct ta_head is placed in the first section of the first segment
to carry flags and other properties of the TA.
elf32.h, elf64.h and elf_common.h are imported from FreeBSD.
In addition to the R_ARM_RELATIVE relocation type, adds support for
R_ARM_ABS32 relocations. Since a symbol table is needed to process this
relocation type a separate program header is added in the TA ELF
containing the sections .dynamic, .dynsym, .dynstr and .hash. These
sections are only needed during relocation and could be released once
the TA is relocated.
A default signing key has been generated with
openssl genrsa -out key.pem
and added as keys/default_ta.pem
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (QEMU, FVP)
Reviewed-by: Pascal Brand <pascal.brand@linaro.org>
Tested-by: Pascal Brand <pascal.brand@linaro.org> (STM platform)
Tested-by: Pascal Brand <pascal.brand@linaro.org> (QEMU platform)
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (HiKey)
Diffstat (limited to 'mk/config.mk')
-rw-r--r-- | mk/config.mk | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/mk/config.mk b/mk/config.mk index 64662670..55e64150 100644 --- a/mk/config.mk +++ b/mk/config.mk @@ -84,3 +84,6 @@ CFG_TEE_FW_MANUFACTURER ?= FW_MAN_UNDEF # Encrypted File System Support CFG_ENC_FS ?= y + +# Embed public part of this key in OP-TEE OS +TA_SIGN_KEY ?= keys/default_ta.pem |