summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xscripts/keygeneration/accessory/create_new_rose_keys.sh66
1 files changed, 66 insertions, 0 deletions
diff --git a/scripts/keygeneration/accessory/create_new_rose_keys.sh b/scripts/keygeneration/accessory/create_new_rose_keys.sh
new file mode 100755
index 00000000..c3be31ba
--- /dev/null
+++ b/scripts/keygeneration/accessory/create_new_rose_keys.sh
@@ -0,0 +1,66 @@
+#!/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 "$@"