summaryrefslogtreecommitdiff
path: root/share/keyringer/encrypt
blob: 396ad4d497cbd06a3d5f7d30b754879299e0e9ca (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#!/bin/bash
#
# Encrypt files to multiple recipients.
#

# Load functions
LIB="`dirname $0`/../../lib/keyringer/functions"
source $LIB

# Config
ACTIONS="`dirname $0`"
BASEDIR="$1"
FILE="`keyringer_filename $2`"
KEYDIR="$BASEDIR/keys"
RECIPIENTS="$BASEDIR/config/recipients"
BASENAME="`basename $0`"

# Setup
if [ -z "$FILE" ]; then
  echo "Usage: keyringer <keyring> `basename $0` <file>"
  exit 1
elif [ ! -f "$RECIPIENTS" ]; then
  echo "No recipient config was found"
  exit 1
fi

# Encrypt
mkdir -p $KEYDIR/`dirname $FILE`
echo "Type your message and finish your input with EOF (Ctrl-D)."
gpg --use-agent --armor -e -s $(keyringer_recipients $RECIPIENTS) - > $KEYDIR/$FILE

# Stage
if [ -d "$BASEDIR/.git" ]; then
  keyringer_exec git $KEYDIR add $FILE
fi