Home | History | Annotate | Download | only in futility
      1 #!/bin/bash -eux
      2 # Copyright 2014 The Chromium OS Authors. All rights reserved.
      3 # Use of this source code is governed by a BSD-style license that can be
      4 # found in the LICENSE file.
      5 
      6 me=${0##*/}
      7 TMP="$me.tmp"
      8 
      9 # Work in scratch directory
     10 cd "$OUTDIR"
     11 
     12 # some stuff we'll need
     13 DEVKEYS=${SRCDIR}/tests/devkeys
     14 
     15 # The show command exits with 0 if the data is consistent.
     16 # The verify command exits with 0 only if all the data is verified.
     17 
     18 ####  keyblock
     19 
     20 ${FUTILITY} show ${DEVKEYS}/firmware.keyblock
     21 
     22 if ${FUTILITY} verify ${DEVKEYS}/firmware.keyblock ; then false; fi
     23 
     24 ${FUTILITY} verify ${DEVKEYS}/firmware.keyblock \
     25   --publickey ${DEVKEYS}/root_key.vbpubk
     26 
     27 
     28 #### firmware vblock
     29 
     30 # Get some bits to look at
     31 ${FUTILITY} dump_fmap -x ${SCRIPTDIR}/data/bios_peppy_mp.bin \
     32   GBB:${TMP}.gbb VBLOCK_A:${TMP}.vblock_a FW_MAIN_A:${TMP}.fw_main_a
     33 ${FUTILITY} gbb_utility -g -k ${TMP}.rootkey ${TMP}.gbb
     34 
     35 
     36 ${FUTILITY} show ${TMP}.vblock_a
     37 
     38 ${FUTILITY} show ${TMP}.vblock_a --publickey ${TMP}.rootkey
     39 
     40 ${FUTILITY} show ${TMP}.vblock_a \
     41   --publickey ${TMP}.rootkey \
     42   --fv ${TMP}.fw_main_a
     43 
     44 if ${FUTILITY} verify ${TMP}.vblock_a ; then false ; fi
     45 
     46 if ${FUTILITY} verify ${TMP}.vblock_a \
     47   --publickey ${TMP}.rootkey ; then false ; fi
     48 
     49 ${FUTILITY} verify ${TMP}.vblock_a \
     50   --publickey ${TMP}.rootkey \
     51   --fv ${TMP}.fw_main_a
     52 
     53 
     54 #### kernel partition
     55 
     56 ${FUTILITY} show ${SCRIPTDIR}/data/rec_kernel_part.bin
     57 
     58 ${FUTILITY} show ${SCRIPTDIR}/data/rec_kernel_part.bin \
     59   --publickey ${DEVKEYS}/kernel_subkey.vbpubk
     60 
     61 ${FUTILITY} show ${SCRIPTDIR}/data/rec_kernel_part.bin \
     62   --publickey ${DEVKEYS}/recovery_key.vbpubk
     63 
     64 if ${FUTILITY} verify ${SCRIPTDIR}/data/rec_kernel_part.bin ; then false ; fi
     65 
     66 if ${FUTILITY} verify ${SCRIPTDIR}/data/rec_kernel_part.bin \
     67   --publickey ${DEVKEYS}/kernel_subkey.vbpubk ; then false ; fi
     68 
     69 ${FUTILITY} verify ${SCRIPTDIR}/data/rec_kernel_part.bin \
     70   --publickey ${DEVKEYS}/recovery_key.vbpubk
     71 
     72 
     73 # cleanup
     74 rm -rf ${TMP}*
     75 exit 0
     76