aboutsummaryrefslogtreecommitdiffstats
path: root/modules/gnupg/templates/create_gnupg_keys.sh
diff options
context:
space:
mode:
Diffstat (limited to 'modules/gnupg/templates/create_gnupg_keys.sh')
-rw-r--r--modules/gnupg/templates/create_gnupg_keys.sh19
1 files changed, 16 insertions, 3 deletions
diff --git a/modules/gnupg/templates/create_gnupg_keys.sh b/modules/gnupg/templates/create_gnupg_keys.sh
index fbb41277..a2caba2d 100644
--- a/modules/gnupg/templates/create_gnupg_keys.sh
+++ b/modules/gnupg/templates/create_gnupg_keys.sh
@@ -1,11 +1,24 @@
#!/bin/bash
-NAME=$1
+BATCHFILE="$1"
+HOMEDIR="$2"
+LOCK="$3"
+
+test $# -eq 3 || exit 1
+
+if [ -e "$LOCK" ]
+then
+ echo "Lock file already exist." 1>&2
+ echo "Remove $LOCK if you want to regenerate key." 1>&2
+ exit 2
+fi
+
+touch "$LOCK"
/sbin/rngd -f -r /dev/urandom &
RAND=$!
-cd /etc/gnupg/keys/
-gpg --homedir /etc/gnupg/keys/ --batch --gen-key /etc/gnupg/batches/$NAME.batch
+cd $HOMEDIR
+gpg --homedir $HOMEDIR --batch --gen-key $BATCHFILE
EXIT=$?
kill $RAND