Files
kaidi/scripts/generate-release-key.sh
T
2026-08-17 14:08:40 +08:00

16 lines
660 B
Bash
Executable File

#!/usr/bin/env bash
set -Eeuo pipefail
OUTPUT=${1:-release-signing-private.pem}
[ ! -e "$OUTPUT" ] || { echo "$OUTPUT already exists" >&2; exit 1; }
umask 077
openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:3072 -out "$OUTPUT"
openssl pkey -in "$OUTPUT" -pubout -out "${OUTPUT%.pem}-public.pem"
if command -v sha256sum >/dev/null 2>&1; then
PUBLIC_KEY_SHA256=$(sha256sum "${OUTPUT%.pem}-public.pem" | awk '{print $1}')
else
PUBLIC_KEY_SHA256=$(shasum -a 256 "${OUTPUT%.pem}-public.pem" | awk '{print $1}')
fi
printf 'Private key: %s\nPublic key: %s\nTrusted public-key SHA-256: %s\n' \
"$OUTPUT" "${OUTPUT%.pem}-public.pem" "$PUBLIC_KEY_SHA256"