blob: c3be31ba684742c106cb7d3e25617cdca1d5d1df [file] [log] [blame]
#!/bin/bash
# Copyright 2017 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.
# Load common constants and functions.
. "$(dirname "$0")/../common.sh"
usage() {
cat <<EOF
Usage: ${PROG} DIR
DIR: To generate a keypair from an RSA 3072 key (.pem file) for Rose at DIR
EOF
if [[ $# -ne 0 ]]; then
die "$*"
else
exit 0
fi
}
# Generate a keypair from hammer's script at the given directory.
generate_key() {
local dir=$1
TMP=$(mktemp -d --suffix=.create_rose_keys)
./create_new_hammer_keys.sh "${TMP}"
if [[ $? -ne 0 ]]; then
die "Failed to call create_new_hammer_keys.sh."
fi
mv "${TMP}/key_hammer.vbprik2" "${dir}/key_rose.vbprik2"
mv "${TMP}/key_hammer.vbpubk2" "${dir}/key_rose.vbpubk2"
}
main() {
set -e
local dir
while [[ $# -gt 0 ]]; do
case $1 in
-h|--help)
usage
;;
-*)
usage "Unknown option: $1"
;;
*)
break
;;
esac
done
if [[ $# -ne 1 ]]; then
usage "Missing output directory"
fi
dir="$1"
generate_key "${dir}"
}
main "$@"