mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2025-12-08 17:05:44 +00:00
Add a script to generate a keypair for signing Rose RW firmware.
Rose decided to leverage the key format of Hammer therefore this script calls Hammer's one to generate a key pair and renames them to key_rose*. BUG=b:37693819 TEST=None BRANCH=None Change-Id: I1f31afe89a00895434a169401ab76b594ad0a403 Reviewed-on: https://chromium-review.googlesource.com/529504 Commit-Ready: Wei-Ning Huang <wnhuang@chromium.org> Tested-by: Marco Chen <marcochen@chromium.org> Reviewed-by: Mike Frysinger <vapier@chromium.org>
This commit is contained in:
66
scripts/keygeneration/accessory/create_new_rose_keys.sh
Executable file
66
scripts/keygeneration/accessory/create_new_rose_keys.sh
Executable file
@@ -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 "$@"
|
||||||
Reference in New Issue
Block a user