From 733df1aa85e7cc0ccd23624c071387617053f049 Mon Sep 17 00:00:00 2001 From: Silvio Rhatto Date: Fri, 27 May 2011 10:26:10 -0300 Subject: Action recrypt now can re-encrypt the whole repository --- README | 4 ++-- share/keyringer/recrypt | 20 ++++++++++++++++---- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/README b/README index 792e64e..534044e 100644 --- a/README +++ b/README @@ -88,9 +88,9 @@ Decrypting a key (only to stdout) keyringer decrypt -Re-encrypting a key +Re-encrypting a key or the whole repository - keyringer recrypt + keyringer recrypt [file] Appending information to a key diff --git a/share/keyringer/recrypt b/share/keyringer/recrypt index a7607e0..f4cc9de 100755 --- a/share/keyringer/recrypt +++ b/share/keyringer/recrypt @@ -7,8 +7,20 @@ LIB="`dirname $0`/../../lib/keyringer/functions" source "$LIB" || exit 1 -# Get file -keyringer_get_file "$2" +function keyringer_recrypt { + # Get file + keyringer_get_file "$1" -# Recrypt -gpg --use-agent -d "$KEYDIR/$FILE" | gpg --use-agent --armor -e -s $(keyringer_recipients "$RECIPIENTS") > "$KEYDIR/$FILE" + # Recrypt + gpg --use-agent -d "$KEYDIR/$FILE" | gpg --use-agent --armor -e -s $(keyringer_recipients "$RECIPIENTS") > "$KEYDIR/$FILE" +} + +if [ ! -z "$2" ]; then + keyringer_recrypt $2 +else + cd $KEYDIR && find | grep -v '^.$' | while read file; do + if [ ! -d "$KEYDIR/$file" ]; then + keyringer_recrypt "$file" + fi + done +fi -- cgit v1.2.3