|
@@ -46,6 +46,7 @@ KEY_FRAGMENTS=3
|
46
|
46
|
MY_USERNAME=
|
47
|
47
|
MY_EMAIL_ADDRESS=
|
48
|
48
|
MY_NAME=
|
|
49
|
+PASSWORD_FILE=
|
49
|
50
|
|
50
|
51
|
function show_help {
|
51
|
52
|
echo ''
|
|
@@ -78,6 +79,10 @@ case $key in
|
78
|
79
|
shift
|
79
|
80
|
MY_NAME=$1
|
80
|
81
|
;;
|
|
82
|
+ --passwordfile)
|
|
83
|
+ shift
|
|
84
|
+ PASSWORD_FILE=$1
|
|
85
|
+ ;;
|
81
|
86
|
*)
|
82
|
87
|
# unknown option
|
83
|
88
|
;;
|
|
@@ -98,6 +103,13 @@ if [ ! -d /home/$MY_USERNAME/.gnupg ]; then
|
98
|
103
|
exit 5393
|
99
|
104
|
fi
|
100
|
105
|
|
|
106
|
+if [ $PASSWORD_FILE ]; then
|
|
107
|
+ if [ ! -f $PASSWORD_FILE ]; then
|
|
108
|
+ echo $'Password file not found'
|
|
109
|
+ exit 62952
|
|
110
|
+ fi
|
|
111
|
+fi
|
|
112
|
+
|
101
|
113
|
FRAGMENTS_DIR=/home/$MY_USERNAME/.gnupg_fragments
|
102
|
114
|
if [ -d $FRAGMENTS_DIR ]; then
|
103
|
115
|
exit 0
|
|
@@ -128,8 +140,15 @@ if [ ! "$?" = "0" ]; then
|
128
|
140
|
echo $"Unable to extract public key for $KEYID"
|
129
|
141
|
exit 7835
|
130
|
142
|
fi
|
131
|
|
-gpg --output $FRAGMENTS_DIR/privkey.txt \
|
132
|
|
- --armor --export-secret-key $KEYID
|
|
143
|
+if [ ! $PASSWORD_FILE ]; then
|
|
144
|
+ gpg --output $FRAGMENTS_DIR/privkey.txt \
|
|
145
|
+ --armor --export-secret-key $KEYID
|
|
146
|
+else
|
|
147
|
+ echo "$(printf `cat $PASSWORD_FILE`)" | \
|
|
148
|
+ gpg --batch --passphrase-fd 0 \
|
|
149
|
+ --output $FRAGMENTS_DIR/privkey.txt \
|
|
150
|
+ --armor --export-secret-key $KEYID
|
|
151
|
+fi
|
133
|
152
|
if [ ! "$?" = "0" ]; then
|
134
|
153
|
echo $"Unable to extract private key for $KEYID"
|
135
|
154
|
exit 7823
|
|
@@ -142,8 +161,8 @@ if [ ! "$?" = "0" ]; then
|
142
|
161
|
fi
|
143
|
162
|
echo '$BACKUP_DUMMY_PASSWORD' | \
|
144
|
163
|
gpg --output $FRAGMENTS_DIR/backup_privkey.txt \
|
145
|
|
- --batch --passphrase-fd 0 \
|
146
|
|
- --armor --export-secret-key $MY_BACKUP_KEY_ID
|
|
164
|
+ --batch --passphrase-fd 0 \
|
|
165
|
+ --armor --export-secret-key $MY_BACKUP_KEY_ID
|
147
|
166
|
if [ ! "$?" = "0" ]; then
|
148
|
167
|
echo $"Unable to extract backup private key for $MY_BACKUP_KEY_ID"
|
149
|
168
|
exit 13783
|