| #!/bin/bash |
| # Copyright 2022 The ChromiumOS Authors |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| # |
| # Create AP RO verification Root key pair for PreMp signing. |
| |
| # Load common constants and functions. |
| # shellcheck source=common.sh |
| . "$(dirname "$0")/common.sh" |
| |
| usage() { |
| cat <<EOF |
| Usage: $0 [destination directory] |
| |
| Output: arv_root.vbprivk and arv_root.vbpubk created in [destination dirctory] |
| which by default is "./${ARV_ROOT_DIR}" |
| EOF |
| exit 1 |
| } |
| |
| main() { |
| local key_dir |
| |
| case $# in |
| (0) # Use default directory. |
| key_dir="${ARV_ROOT_DIR}" |
| ;; |
| (1) |
| key_dir="$1" |
| ;; |
| (*) |
| usage |
| esac |
| |
| if [[ -d ${key_dir} ]]; then |
| die "Destination directory \"${key_dir}\" exists. There can be only one!" |
| fi |
| |
| mkdir -p "${key_dir}" || die "Failed to create \"${key_dir}\"." |
| |
| cd "${key_dir}" || die "Failed to cd to \"${key_dir}\"." |
| |
| make_pair "${ARV_ROOT_NAME_BASE}" "${ARV_ROOT_ALGOID}" |
| } |
| |
| main "$@" |