Files
2026-08-24 10:03:24 +08:00

128 lines
6.3 KiB
Bash
Executable File

#!/bin/bash
#set -x
set -o pipefail
set -o errexit
set -o errtrace
trap "{ echo Error: Line $LINENO \"$BASH_COMMAND\" returned $? ; exit 1; }" ERR
mv_if_exists() {
# 1: src, 2: dst
if [ -e "$1" ]; then
mv -v "$1" "$2"
fi
}
kd="${1:-}"
if [ -z "$kd" ] || [ ! -d "$kd" ]; then
echo "Usage: $0 dv_scs_keys"
echo "Renames dv_scs_keys key directory to new names."
exit 1
fi
if [ ! -d "$kd/boot-blobs" ] &&
[ ! -d "$kd/fip" ] &&
[ ! -d "$kd/root" ]; then
echo "Error: Unable to find boot-blobs, fip or root directories"
exit 1
fi
if [ -d "$kd/boot-blobs/aes" ]; then
for part in "$kd"/boot-blobs/aes/*; do
part="${part%/}"
mv_if_exists "$part/rootrsa-0" "$part/trustchain-0"
mv_if_exists "$part/rootrsa-1" "$part/trustchain-1"
mv_if_exists "$part/rootrsa-2" "$part/trustchain-2"
mv_if_exists "$part/rootrsa-3" "$part/trustchain-3"
done
fi
if [ -d "$kd/boot-blobs/rsa" ]; then
for part in "$kd"/boot-blobs/rsa/*; do
part="${part%/}"
mv_if_exists "$part/rootrsa-0" "$part/trustchain-0"
mv_if_exists "$part/rootrsa-1" "$part/trustchain-1"
mv_if_exists "$part/rootrsa-2" "$part/trustchain-2"
mv_if_exists "$part/rootrsa-3" "$part/trustchain-3"
mv_if_exists "$part/trustchain-0/nonce/device-lvl1rsa-nonce.bin" "$part/trustchain-0/nonce/lvl1key-nonce.bin"
mv_if_exists "$part/trustchain-1/nonce/device-lvl1rsa-nonce.bin" "$part/trustchain-1/nonce/lvl1key-nonce.bin"
mv_if_exists "$part/trustchain-2/nonce/device-lvl1rsa-nonce.bin" "$part/trustchain-2/nonce/lvl1key-nonce.bin"
mv_if_exists "$part/trustchain-3/nonce/device-lvl1rsa-nonce.bin" "$part/trustchain-3/nonce/lvl1key-nonce.bin"
mv_if_exists "$part/trustchain-0/nonce/device-lvl2rsa-nonce.bin" "$part/trustchain-0/nonce/lvl2key-nonce.bin"
mv_if_exists "$part/trustchain-1/nonce/device-lvl2rsa-nonce.bin" "$part/trustchain-1/nonce/lvl2key-nonce.bin"
mv_if_exists "$part/trustchain-2/nonce/device-lvl2rsa-nonce.bin" "$part/trustchain-2/nonce/lvl2key-nonce.bin"
mv_if_exists "$part/trustchain-3/nonce/device-lvl2rsa-nonce.bin" "$part/trustchain-3/nonce/lvl2key-nonce.bin"
done
fi
if [ -d "$kd/boot-blobs/template" ]; then
for part in "$kd"/boot-blobs/template/*; do
part="${part%/}"
mv_if_exists "$part/rootrsa-0" "$part/trustchain-0"
mv_if_exists "$part/rootrsa-1" "$part/trustchain-1"
mv_if_exists "$part/rootrsa-2" "$part/trustchain-2"
mv_if_exists "$part/rootrsa-3" "$part/trustchain-3"
done
fi
if [ -d "$kd/fip/rsa" ]; then
for part in "$kd"/fip/rsa/*; do
part="${part%/}"
mkdir -p "$part/trustchain-0/epk"
mkdir -p "$part/trustchain-1/epk"
mkdir -p "$part/trustchain-2/epk"
mkdir -p "$part/trustchain-3/epk"
mkdir "$part/trustchain-0/key"
mkdir "$part/trustchain-1/key"
mkdir "$part/trustchain-2/key"
mkdir "$part/trustchain-3/key"
mkdir "$part/trustchain-0/nonce"
mkdir "$part/trustchain-1/nonce"
mkdir "$part/trustchain-2/nonce"
mkdir "$part/trustchain-3/nonce"
for blx in bl30 bl31 bl32 bl33 bl40 krnl; do
part_only=$(basename $part)
ln -srf "$kd/boot-blobs/rsa/$part_only/trustchain-0/epk/lvl2cert-epks.bin" "$part/trustchain-0/epk/$blx-lvl3cert-epks.bin"
ln -srf "$kd/boot-blobs/rsa/$part_only/trustchain-1/epk/lvl2cert-epks.bin" "$part/trustchain-1/epk/$blx-lvl3cert-epks.bin"
ln -srf "$kd/boot-blobs/rsa/$part_only/trustchain-2/epk/lvl2cert-epks.bin" "$part/trustchain-2/epk/$blx-lvl3cert-epks.bin"
ln -srf "$kd/boot-blobs/rsa/$part_only/trustchain-3/epk/lvl2cert-epks.bin" "$part/trustchain-3/epk/$blx-lvl3cert-epks.bin"
ln -srf "$kd/boot-blobs/rsa/$part_only/trustchain-0/key/level-2-rsa-priv.pem" "$part/trustchain-0/key/$blx-level-3-rsa-priv.pem"
ln -srf "$kd/boot-blobs/rsa/$part_only/trustchain-0/key/level-2-rsa-pub.pem" "$part/trustchain-0/key/$blx-level-3-rsa-pub.pem"
ln -srf "$kd/boot-blobs/rsa/$part_only/trustchain-1/key/level-2-rsa-priv.pem" "$part/trustchain-1/key/$blx-level-3-rsa-priv.pem"
ln -srf "$kd/boot-blobs/rsa/$part_only/trustchain-1/key/level-2-rsa-pub.pem" "$part/trustchain-1/key/$blx-level-3-rsa-pub.pem"
ln -srf "$kd/boot-blobs/rsa/$part_only/trustchain-2/key/level-2-rsa-priv.pem" "$part/trustchain-2/key/$blx-level-3-rsa-priv.pem"
ln -srf "$kd/boot-blobs/rsa/$part_only/trustchain-2/key/level-2-rsa-pub.pem" "$part/trustchain-2/key/$blx-level-3-rsa-pub.pem"
ln -srf "$kd/boot-blobs/rsa/$part_only/trustchain-3/key/level-2-rsa-priv.pem" "$part/trustchain-3/key/$blx-level-3-rsa-priv.pem"
ln -srf "$kd/boot-blobs/rsa/$part_only/trustchain-3/key/level-2-rsa-pub.pem" "$part/trustchain-3/key/$blx-level-3-rsa-pub.pem"
ln -srf "$kd/boot-blobs/rsa/$part_only/trustchain-0/nonce/lvl2key-nonce.bin" "$part/trustchain-0/nonce/$blx-lvl3key-nonce.bin"
ln -srf "$kd/boot-blobs/rsa/$part_only/trustchain-1/nonce/lvl2key-nonce.bin" "$part/trustchain-1/nonce/$blx-lvl3key-nonce.bin"
ln -srf "$kd/boot-blobs/rsa/$part_only/trustchain-2/nonce/lvl2key-nonce.bin" "$part/trustchain-2/nonce/$blx-lvl3key-nonce.bin"
ln -srf "$kd/boot-blobs/rsa/$part_only/trustchain-3/nonce/lvl2key-nonce.bin" "$part/trustchain-3/nonce/$blx-lvl3key-nonce.bin"
done
done
fi
if [ -d "$kd/fip/template" ]; then
for part in "$kd"/fip/template/*; do
part="${part%/}"
mv_if_exists "$part/rootrsa-0" "$part/trustchain-0"
mv_if_exists "$part/rootrsa-1" "$part/trustchain-1"
mv_if_exists "$part/rootrsa-2" "$part/trustchain-2"
mv_if_exists "$part/rootrsa-3" "$part/trustchain-3"
done
fi
if [ -d "$kd/root/rsa" ]; then
for part in "$kd"/root/rsa/*; do
part="${part%/}"
mv_if_exists "$part/nonce/rootrsa-0-nonce.bin" "$part/nonce/rootkey-0-nonce.bin"
mv_if_exists "$part/nonce/rootrsa-1-nonce.bin" "$part/nonce/rootkey-1-nonce.bin"
mv_if_exists "$part/nonce/rootrsa-2-nonce.bin" "$part/nonce/rootkey-2-nonce.bin"
mv_if_exists "$part/nonce/rootrsa-3-nonce.bin" "$part/nonce/rootkey-3-nonce.bin"
mv_if_exists "$part/roothash/hash-device-rootcert.bin" "$part/roothash/hash-device-rootcert-rsa.bin"
done
fi