diff options
-rw-r--r-- | index.mdwn | 4 | ||||
-rwxr-xr-x | share/keyringer/encrypt | 19 | ||||
-rw-r--r-- | share/man/keyringer.1.mdwn | 4 |
3 files changed, 22 insertions, 5 deletions
@@ -85,6 +85,10 @@ Encrypting a key keyringer <keyring> encrypt <file> +Encrypting a key from a file + + keyringer <keyring> encrypt <plaintext-file> <file> + Decrypting a key (only to stdout) keyringer <keyring> decrypt <file> 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. |