aboutsummaryrefslogtreecommitdiff
path: root/scripts/generate.sh
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/generate.sh')
-rwxr-xr-xscripts/generate.sh54
1 files changed, 40 insertions, 14 deletions
diff --git a/scripts/generate.sh b/scripts/generate.sh
index ef4c6f1..3cc62cd 100755
--- a/scripts/generate.sh
+++ b/scripts/generate.sh
@@ -11,9 +11,9 @@ umask 077
export LC_ALL="C"
-get_temp_dir () {
- # Returns temporary working directory path.
- mktemp -d -t $(date +%Y.%m.%d)-XXXX
+print_cred () {
+ # Print a credential string in red.
+ tput setaf 1 ; printf "%s\n" "${1}" ; tput sgr0
}
get_id_label () {
@@ -31,6 +31,27 @@ get_key_expiration () {
printf "2027-05-01"
}
+get_temp_dir () {
+ # Returns temporary working directory path.
+ mktemp -d -t $(date +%Y.%m.%d)-XXXX
+}
+
+set_temp_dir () {
+ # Exports and switches to temporary dir.
+ export GNUPGHOME="$(get_temp_dir)"
+ cd "$GNUPGHOME"
+ printf "set temp dir (path='%s')\n" "$(pwd)"
+}
+
+set_attrs () {
+ # Sets identity and key attributes.
+ export IDENTITY="$(get_id_label)"
+ export KEY_TYPE="$(get_key_type)"
+ export KEY_EXPIRATION="$(get_key_expiration)"
+ printf "set attributes (label='%s', type='%s', expire='%s')\n" \
+ "$IDENTITY" "$KEY_TYPE" "$KEY_EXPIRATION"
+}
+
get_pass () {
# Returns random passphrase.
tr -dc "A-Z2-9" < /dev/urandom | \
@@ -43,9 +64,9 @@ get_pass () {
set_pass () {
# Exports Certify and LUKS passphrases.
export CERTIFY_PASS="$(get_pass)"
- export LUKS_PASS="$(get_pass)"
- printf "set passphrases (certify='%s', luks='%s')\n" \
- "$CERTIFY_PASS" "$LUKS_PASS"
+ export ENCRYPT_PASS="$(get_pass)"
+ printf "set passphrases (certify='%s', encrypt='%s')\n" \
+ "$CERTIFY_PASS" "$ENCRYPT_PASS"
}
gen_key_certify () {
@@ -101,15 +122,18 @@ save_pubkey () {
--armor --export $KEY_ID
}
-export GNUPGHOME="$(get_temp_dir)"
-cd "$GNUPGHOME"
-printf "set temp dir (path='%s')\n" "$(pwd)"
+finish () {
+ # Prints final message with credentials.
+ printf "certify passphrase: "
+ print_cred $CERTIFY_PASS
-export IDENTITY="$(get_id_label)"
-export KEY_TYPE="$(get_key_type)"
-export KEY_EXPIRATION="$(get_key_expiration)"
-printf "set attributes (label='%s', type='%s', expire='%s')\n" \
- "$IDENTITY" "$KEY_TYPE" "$KEY_EXPIRATION"
+ printf "encrypt passphrase: "
+ print_cred $ENCRYPT_PASS
+}
+
+set_temp_dir
+
+set_attrs
set_pass
@@ -124,3 +148,5 @@ list_keys
save_secrets
save_pubkey
+
+finish