From 5ceceaffb35560b30f33a06b08a6622a2266c0d3 Mon Sep 17 00:00:00 2001 From: Silvio Rhatto Date: Sat, 17 Aug 2013 14:19:59 -0300 Subject: Added support to encrypt from files --- index.mdwn | 4 ++++ share/keyringer/encrypt | 19 ++++++++++++++++--- share/man/keyringer.1.mdwn | 4 ++-- 3 files changed, 22 insertions(+), 5 deletions(-) diff --git a/index.mdwn b/index.mdwn index a9beecf..9156fe9 100644 --- a/index.mdwn +++ b/index.mdwn @@ -85,6 +85,10 @@ Encrypting a key keyringer encrypt +Encrypting a key from a file + + keyringer encrypt + Decrypting a key (only to stdout) keyringer decrypt diff --git a/share/keyringer/encrypt b/share/keyringer/encrypt index 3680d0b..f35cdff 100755 --- a/share/keyringer/encrypt +++ b/share/keyringer/encrypt @@ -8,7 +8,18 @@ LIB="`dirname $0`/../../lib/keyringer/functions" source "$LIB" || exit 1 # Aditional parameters -keyringer_get_new_file "$2" +if [ ! -z "$3" ]; then + UNENCRYPTED_FILE="$2" + keyringer_get_new_file "$3" + + if [ ! -f "$UNENCRYPTED_FILE" ]; then + echo "Error: cannot encrypted $UNENCRYPTED_FILE: file not found." + exit 1 + fi +else + UNENCRYPTED_FILE="-" + keyringer_get_new_file "$2" +fi # Set recipients file keyringer_set_recipients "$FILE" @@ -18,10 +29,12 @@ mkdir -p "$KEYDIR/`dirname $FILE`" if [ "$BASENAME" == "encrypt" ]; then # Only display directions if we're running encrypt, not encrypt-batch - echo "Type your message and finish your input with EOF (Ctrl-D)." + if [ "$UNENCRYPTED_FILE" == "-" ]; then + echo "Type your message and finish your input with EOF (Ctrl-D)." + fi fi -$GPG --use-agent --armor -e -s $(keyringer_recipients "$RECIPIENTS_FILE") - > "$KEYDIR/$FILE" +$GPG --use-agent --armor -e -s $(keyringer_recipients "$RECIPIENTS_FILE") --yes --output "$KEYDIR/$FILE" $UNENCRYPTED_FILE err="$?" diff --git a/share/man/keyringer.1.mdwn b/share/man/keyringer.1.mdwn index 23b8d85..14ae687 100644 --- a/share/man/keyringer.1.mdwn +++ b/share/man/keyringer.1.mdwn @@ -66,8 +66,8 @@ edit <*SECRET*> : Edits a secret by temporarily decrypting it, opening the decrypted copy into *$EDITOR* and then recrypting it again. -encrypt <*SECRET*> -: Encrypts content from standard input into *SECRET*. +encrypt [*file*] <*SECRET*> +: Encrypts content from standard input or *file* into *SECRET*. encrypt-batch <*SECRET*> : Encrypt content, batch mode. -- cgit v1.2.3