mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2025-12-15 20:37:33 +00:00
keygeneration: keyset_version_check.sh: support loem keysets
BUG=None TEST=ran against local devkeys BRANCH=None Change-Id: Ib1c88ae187f12aad4531e9c22da6cda2af1503e3 Reviewed-on: https://chromium-review.googlesource.com/691340 Commit-Ready: Mike Frysinger <vapier@chromium.org> Tested-by: Mike Frysinger <vapier@chromium.org> Reviewed-by: David Riley <davidriley@chromium.org>
This commit is contained in:
committed by
chrome-bot
parent
60dd468de6
commit
fb3c262eb0
@@ -51,6 +51,37 @@ check_versions() {
|
||||
return 0
|
||||
}
|
||||
|
||||
# Check the key.versions against firmware.keyblock and firmware_data_key.vbpubk.
|
||||
check_firmware_keyblock() {
|
||||
local fkey_keyblock="$1" fkey="$2"
|
||||
local got_fkey_keyblock="$(keyblock_version "${fkey_keyblock}")"
|
||||
local got_fkey="$(key_version "${fkey}")"
|
||||
|
||||
check_versions "${got_fkey_keyblock}" "${got_fkey}" \
|
||||
"${fkey_keyblock##*/} keyblock key" "firmware key" || testfail=1
|
||||
check_versions "${expected_fkey}" "${got_fkey}" "${fkey##*/} key" \
|
||||
"firmware key" || testfail=1
|
||||
}
|
||||
|
||||
# Validate the firmware keys in an loem keyset.
|
||||
check_loem_keyset() {
|
||||
local line loem_index
|
||||
while read line; do
|
||||
loem_index=$(cut -d= -f1 <<<"${line}" | sed 's: *$::')
|
||||
|
||||
check_firmware_keyblock \
|
||||
"${KEY_DIR}/firmware.loem${loem_index}.keyblock" \
|
||||
"${KEY_DIR}/firmware_data_key.loem${loem_index}.vbpubk"
|
||||
done < <(grep = "${KEY_DIR}"/loem.ini)
|
||||
}
|
||||
|
||||
# Validate the firmware keys in a non-loem keyset.
|
||||
check_non_loem_keyset() {
|
||||
check_firmware_keyblock \
|
||||
"${KEY_DIR}/firmware.keyblock" \
|
||||
"${KEY_DIR}/firmware_data_key.vbpubk"
|
||||
}
|
||||
|
||||
main() {
|
||||
local testfail=0
|
||||
|
||||
@@ -62,21 +93,20 @@ main() {
|
||||
check_versions "${expected_firmware}" "${expected_kkey}" \
|
||||
"firmware" "kernel key" || testfail=1
|
||||
|
||||
local got_fkey_keyblock="$(keyblock_version ${KEY_DIR}/firmware.keyblock)"
|
||||
local got_fkey="$(key_version ${KEY_DIR}/firmware_data_key.vbpubk)"
|
||||
|
||||
local got_kkey_keyblock="$(keyblock_version ${KEY_DIR}/kernel.keyblock)"
|
||||
local got_ksubkey="$(key_version ${KEY_DIR}/kernel_subkey.vbpubk)"
|
||||
local got_kdatakey="$(key_version ${KEY_DIR}/kernel_data_key.vbpubk)"
|
||||
|
||||
check_versions "${got_fkey_keyblock}" "${got_fkey}" "firmware keyblock key" \
|
||||
"firmware key" || testfail=1
|
||||
if [[ -f "${KEY_DIR}"/loem.ini ]]; then
|
||||
check_loem_keyset
|
||||
else
|
||||
check_non_loem_keyset
|
||||
fi
|
||||
|
||||
check_versions "${got_kkey_keyblock}" "${got_ksubkey}" "kernel keyblock key" \
|
||||
"kernel subkey" || testfail=1
|
||||
check_versions "${got_kdatakey}" "${got_ksubkey}" "kernel data key" \
|
||||
"kernel subkey" || testfail=1
|
||||
check_versions "${expected_fkey}" "${got_fkey}" "key.versions firmware key" \
|
||||
"firmware key" || testfail=1
|
||||
check_versions "${expected_kkey}" "${got_kdatakey}" "key.versions kernel key" \
|
||||
"kernel datakey" || testfail=1
|
||||
check_versions "${expected_kkey}" "${got_ksubkey}" "key.versions kernel key" \
|
||||
|
||||
Reference in New Issue
Block a user