mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2026-01-08 00:21:46 +00:00
Update the unit tests which use it to use futility. No functional changes to it, just relocation. Remove the futility test which checks the exact list of supported commands. This doesn't have a good way of handling conditionally-compiled commands, and will be even harder to maintain as we add more commands in the future. Presence of sub-commands is still ensured by the other tests which use them (such as vb2_firmware_tests.sh) BUG=chromium:231547 BRANCH=none TEST=make runtests && VBOOT2=1 make runtests Change-Id: Idddb639276e4c6449d023d40ac7977123113bd28 Signed-off-by: Randall Spangler <rspangler@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/213191 Reviewed-by: Bill Richardson <wfrichar@chromium.org>
58 lines
1.8 KiB
Bash
Executable File
58 lines
1.8 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
#
|
|
# End-to-end test for vboot2 firmware verification
|
|
|
|
# Load common constants and variables.
|
|
. "$(dirname "$0")/common.sh"
|
|
|
|
set -e
|
|
|
|
echo 'Creating test firmware'
|
|
|
|
# Run tests in a dedicated directory for easy cleanup or debugging.
|
|
DIR="${TEST_DIR}/vb2fw_test_dir"
|
|
[ -d "$DIR" ] || mkdir -p "$DIR"
|
|
echo "Testing vb2_verify_fw in $DIR"
|
|
cd "$DIR"
|
|
|
|
# Dummy firmware body
|
|
echo 'This is a test firmware body. This is only a test. Lalalalala' \
|
|
> body.test
|
|
|
|
# Pack keys using original vboot utilities
|
|
${BIN_DIR}/vbutil_key --pack rootkey.test \
|
|
--key ${TESTKEY_DIR}/key_rsa8192.keyb --algorithm 11
|
|
${BIN_DIR}/vbutil_key --pack fwsubkey.test \
|
|
--key ${TESTKEY_DIR}/key_rsa4096.keyb --algorithm 7
|
|
${BIN_DIR}/vbutil_key --pack kernkey.test \
|
|
--key ${TESTKEY_DIR}/key_rsa2048.keyb --algorithm 4
|
|
|
|
# Create a GBB with the root key
|
|
${BIN_DIR}/gbb_utility -c 128,2400,0,0 gbb.test
|
|
${BIN_DIR}/gbb_utility gbb.test -s --hwid='Test GBB' --rootkey=rootkey.test
|
|
|
|
# Keyblock with firmware subkey is signed by root key
|
|
${BIN_DIR}/vbutil_keyblock --pack keyblock.test \
|
|
--datapubkey fwsubkey.test \
|
|
--signprivate ${TESTKEY_DIR}/key_rsa8192.sha512.vbprivk
|
|
|
|
# Firmware preamble is signed with the firmware subkey
|
|
${BIN_DIR}/vbutil_firmware \
|
|
--vblock vblock.test \
|
|
--keyblock keyblock.test \
|
|
--signprivate ${TESTKEY_DIR}/key_rsa4096.sha256.vbprivk \
|
|
--fv body.test \
|
|
--version 1 \
|
|
--kernelkey kernkey.test
|
|
|
|
echo 'Verifying test firmware using vb2_verify_fw'
|
|
|
|
# Verify the firmware using vboot2 utility
|
|
${BIN_DIR}/futility vb2_verify_fw gbb.test vblock.test body.test
|
|
|
|
happy 'vb2_verify_fw succeeded'
|