summaryrefslogtreecommitdiff
path: root/scripts/keygeneration/create_new_keys.sh
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/keygeneration/create_new_keys.sh')
-rwxr-xr-xscripts/keygeneration/create_new_keys.sh26
1 files changed, 21 insertions, 5 deletions
diff --git a/scripts/keygeneration/create_new_keys.sh b/scripts/keygeneration/create_new_keys.sh
index cf6ee97e..a33e2a7f 100755
--- a/scripts/keygeneration/create_new_keys.sh
+++ b/scripts/keygeneration/create_new_keys.sh
@@ -9,12 +9,29 @@
# Load common constants and functions.
. "$(dirname "$0")/common.sh"
+# File to read current versions from.
+VERSION_FILE="key.versions"
+
+# ARGS: <version_type>
+get_version() {
+ local version_type=$1
+ version=$(sed -n "s#^${version_type}=\(.*\)#\1#pg" ${VERSION_FILE})
+ echo $version
+}
+
+# Get the key versions for normal keypairs
+FKEY_VERSION=$(get_version "firmware_key_version")
+# Firmware version is the kernel subkey version.
+KSUBKEY_VERSION=$(get_version "firmware_version")
+# Kernel data key version is the kernel key version.
+KDATAKEY_VERSION=$(get_version "kernel_key_version")
+
# Create the normal keypairs
make_pair root_key $ROOT_KEY_ALGOID
-make_pair firmware_data_key $FIRMWARE_DATAKEY_ALGOID
-make_pair dev_firmware_data_key $DEV_FIRMWARE_DATAKEY_ALGOID
-make_pair kernel_subkey $KERNEL_SUBKEY_ALGOID
-make_pair kernel_data_key $KERNEL_DATAKEY_ALGOID
+make_pair firmware_data_key $FIRMWARE_DATAKEY_ALGOID $FKEY_VERSION
+make_pair dev_firmware_data_key $DEV_FIRMWARE_DATAKEY_ALGOID $FKEY_VERSION
+make_pair kernel_subkey $KERNEL_SUBKEY_ALGOID $KSUBKEY_VERSION
+make_pair kernel_data_key $KERNEL_DATAKEY_ALGOID $KDATAKEY_VERSION
# Create the recovery and factory installer keypairs
make_pair recovery_key $RECOVERY_KEY_ALGOID
@@ -42,4 +59,3 @@ make_keyblock installer_kernel $INSTALLER_KERNEL_KEYBLOCK_MODE installer_kernel_
# firmware, which is built separately (and some of which can't be changed after
# manufacturing). If you update these keys, you must coordinate the changes
# with the BIOS people or you'll be unable to boot the resulting images.
-