Files
oam/scripts/gpg.generate-keys.bash

32 lines
667 B
Bash
Executable File

#!/usr/bin/env bash
# Sources:
# - https://www.gnupg.org/documentation/manuals/gnupg/Unattended-GPG-key-generation.html
: "${REAL_NAME:?required but not set}"
: "${PASSPHRASE:?required but not set}"
: "${KEY_TYPE:=rsa}"
: "${KEY_LENGTH:=4096}"
: "${EXPIRE_DATE:=5y}"
for EMAIL in $@
do
if gpg --list-secret-keys "$EMAIL" >/dev/null 2>&1
then
echo "gpg key for ${EMAIL} already exists" >&2
else
gpg --batch --generate-key <<-EOF
%echo generating key for $EMAIL
Key-Type: $KEY_TYPE
Key-Length: $KEY_LENGTH
Name-Real: $REAL_NAME
Name-Email: $EMAIL
Expire-Date: $EXPIRE_DATE
Passphrase: $PASSPHRASE
%commit
%echo done
EOF
fi
done