#!/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
TESTKEYS=${SRCDIR}/tests/testkeys
SIGNER=${SRCDIR}/tests/external_rsa_signer.sh


# Create a copy of an existing keyblock, using the old way
${FUTILITY} vbutil_keyblock --pack ${TMP}.keyblock0 \
  --datapubkey ${DEVKEYS}/firmware_data_key.vbpubk \
  --flags 23 \
  --signprivate ${DEVKEYS}/root_key.vbprivk

# Check it.
${FUTILITY} vbutil_keyblock --unpack ${TMP}.keyblock0 \
  --signpubkey ${DEVKEYS}/root_key.vbpubk

# It should be the same as the dev-key firmware keyblock
cmp ${DEVKEYS}/firmware.keyblock ${TMP}.keyblock0


# Now create it the new way
${FUTILITY} --debug sign \
  --datapubkey ${DEVKEYS}/firmware_data_key.vbpubk \
  --flags 23 \
  --signprivate ${DEVKEYS}/root_key.vbprivk \
  --outfile ${TMP}.keyblock1

# It should be the same too.
cmp ${DEVKEYS}/firmware.keyblock ${TMP}.keyblock1


# Create a keyblock without signing it.

# old way
${FUTILITY} vbutil_keyblock --pack ${TMP}.keyblock0 \
  --datapubkey ${DEVKEYS}/firmware_data_key.vbpubk \
  --flags 14

# new way
${FUTILITY} --debug sign \
  --flags 14 \
  ${DEVKEYS}/firmware_data_key.vbpubk \
  ${TMP}.keyblock1

cmp ${TMP}.keyblock0 ${TMP}.keyblock1


# Create one using PEM args

# old way
${FUTILITY} vbutil_keyblock --pack ${TMP}.keyblock2 \
  --datapubkey ${DEVKEYS}/firmware_data_key.vbpubk \
  --signprivate_pem ${TESTKEYS}/key_rsa4096.pem \
  --pem_algorithm 8 \
  --flags 9

# verify it
${FUTILITY} vbutil_keyblock --unpack ${TMP}.keyblock2 \
  --signpubkey ${TESTKEYS}/key_rsa4096.sha512.vbpubk

# new way
${FUTILITY} --debug sign \
  --pem_signpriv ${TESTKEYS}/key_rsa4096.pem \
  --pem_algo 8 \
  --flags 9 \
  ${DEVKEYS}/firmware_data_key.vbpubk \
  ${TMP}.keyblock3

cmp ${TMP}.keyblock2 ${TMP}.keyblock3

# Try it with an external signer

# old way
${FUTILITY} vbutil_keyblock --pack ${TMP}.keyblock4 \
  --datapubkey ${DEVKEYS}/firmware_data_key.vbpubk \
  --signprivate_pem ${TESTKEYS}/key_rsa4096.pem \
  --pem_algorithm 8 \
  --flags 19 \
  --externalsigner ${SIGNER}

# verify it
${FUTILITY} vbutil_keyblock --unpack ${TMP}.keyblock4 \
  --signpubkey ${TESTKEYS}/key_rsa4096.sha512.vbpubk

# new way
${FUTILITY} --debug sign \
  --pem_signpriv ${TESTKEYS}/key_rsa4096.pem \
  --pem_algo 8 \
  --pem_external ${SIGNER} \
  --flags 19 \
  ${DEVKEYS}/firmware_data_key.vbpubk \
  ${TMP}.keyblock5

cmp ${TMP}.keyblock4 ${TMP}.keyblock5


# cleanup
rm -rf ${TMP}*
exit 0
