blob: c0c0872c3fde3978419616e7a69884c51827b917 [file] [log] [blame]
#!/bin/bash -eux
# Copyright 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.
me=${0##*/}
TMP="$me.tmp"
# Work in scratch directory
cd "$OUTDIR"
# some stuff we'll need
DEVKEYS="${SRCDIR}/tests/devkeys"
# The show command exits with 0 if the data is consistent.
# The verify command exits with 0 only if all the data is verified.
#### keyblock
"${FUTILITY}" show "${DEVKEYS}/firmware.keyblock"
if "${FUTILITY}" verify "${DEVKEYS}/firmware.keyblock" ; then false; fi
"${FUTILITY}" verify "${DEVKEYS}/firmware.keyblock" \
--publickey "${DEVKEYS}/root_key.vbpubk"
#### firmware vblock
# Get some bits to look at
"${FUTILITY}" dump_fmap -x "${SCRIPT_DIR}/futility/data/bios_peppy_mp.bin" \
"GBB:${TMP}.gbb" "VBLOCK_A:${TMP}.vblock_a" "FW_MAIN_A:${TMP}.fw_main_a"
"${FUTILITY}" gbb -g -k "${TMP}.rootkey" "${TMP}.gbb"
"${FUTILITY}" show "${TMP}.vblock_a"
"${FUTILITY}" show "${TMP}.vblock_a" --publickey "${TMP}.rootkey"
"${FUTILITY}" show "${TMP}.vblock_a" \
--publickey "${TMP}.rootkey" \
--fv "${TMP}.fw_main_a"
if "${FUTILITY}" verify "${TMP}.vblock_a" ; then false ; fi
if "${FUTILITY}" verify "${TMP}.vblock_a" \
--publickey "${TMP}.rootkey" ; then false ; fi
"${FUTILITY}" verify "${TMP}.vblock_a" \
--publickey "${TMP}.rootkey" \
--fv "${TMP}.fw_main_a"
#### kernel partition
"${FUTILITY}" show "${SCRIPT_DIR}/futility/data/rec_kernel_part.bin"
"${FUTILITY}" show "${SCRIPT_DIR}/futility/data/rec_kernel_part.bin" \
--publickey "${DEVKEYS}/kernel_subkey.vbpubk"
"${FUTILITY}" show "${SCRIPT_DIR}/futility/data/rec_kernel_part.bin" \
--publickey "${DEVKEYS}/recovery_key.vbpubk"
if "${FUTILITY}" verify "${SCRIPT_DIR}/futility/data/rec_kernel_part.bin" ; \
then false ; fi
if "${FUTILITY}" verify "${SCRIPT_DIR}/futility/data/rec_kernel_part.bin" \
--publickey "${DEVKEYS}/kernel_subkey.vbpubk" ; then false ; fi
"${FUTILITY}" verify "${SCRIPT_DIR}/futility/data/rec_kernel_part.bin" \
--publickey "${DEVKEYS}/recovery_key.vbpubk"
# cleanup
rm -rf "${TMP}"*
exit 0