aboutsummaryrefslogtreecommitdiff
path: root/share/keyringer/recrypt
diff options
context:
space:
mode:
Diffstat (limited to 'share/keyringer/recrypt')
-rwxr-xr-xshare/keyringer/recrypt14
1 files changed, 13 insertions, 1 deletions
diff --git a/share/keyringer/recrypt b/share/keyringer/recrypt
index cbf1af9..63f7bc6 100755
--- a/share/keyringer/recrypt
+++ b/share/keyringer/recrypt
@@ -14,12 +14,24 @@ function keyringer_recrypt {
# Set recipients file
keyringer_set_recipients "$FILE"
+ # Decrypt
+ decrypted="$($GPG --use-agent -d "$KEYDIR/$FILE" 2> /dev/null)"
+
+ if [ "$?" != "0" ]; then
+ echo "Decryption error."
+ exit 1
+ fi
+
# Recrypt
- $GPG --use-agent -d "$KEYDIR/$FILE" | $GPG --use-agent --armor -e -s $(keyringer_recipients "$RECIPIENTS_FILE") > "$KEYDIR/$FILE"
+ recrypted="`echo "$decrypted" | $GPG --use-agent --armor -e -s $(keyringer_recipients "$RECIPIENTS_FILE")`"
if [ "$?" != "0" ]; then
+ echo "Recryption error."
exit 1
fi
+
+ unset decrypted
+ echo "$recrypted" > "$KEYDIR/$FILE"
}
if [ ! -z "$2" ]; then