diff options
Diffstat (limited to 'jsaccess/encrypt.sh')
-rwxr-xr-x | jsaccess/encrypt.sh | 43 |
1 files changed, 34 insertions, 9 deletions
diff --git a/jsaccess/encrypt.sh b/jsaccess/encrypt.sh index 9635cbb..001d994 100755 --- a/jsaccess/encrypt.sh +++ b/jsaccess/encrypt.sh @@ -1,15 +1,40 @@ #!/bin/sh -TMP=./jsa-encrypt.tmp +cleanup() { + rm -f $tmp + umask $sumask + exit 0 +} -if [ $# -ne 2 ]; then - echo "usage: encrypt.sh <in-file> <out-file>" +if [ $# -ne 1 ]; then + echo "usage: encrypt.sh <myfile>" exit 1 fi -in=$1 -out=$2 +myfile=$1 -base64 -w0 $in > $TMP -openssl enc -e -a -aes-256-cbc -in $TMP -out $out ||exit $? -rm $TMP -echo "created $out OK" +sumask=$(umask) +umask 077 +tmp=`mktemp ./jsaXXXXXXXX` +trap cleanup INT TERM EXIT + +echo -n "Enter passphrase used to encrypt: " +read pass +dirhash=`echo -n $pass |openssl rmd160 |cut -d' ' -f2` +dir="jsa/files/$dirhash" +file=`echo -n ${dirhash}${myfile} |openssl rmd160 |cut -d' ' -f2` +echo $dir +mkdir -p $dir + +base64 -w0 $myfile > $tmp +echo -n $pass |openssl enc -e -a -aes-256-cbc -in $tmp -out $dir/$file -pass stdin ||exit $? +echo "CREATED $dir/$file" + +if [ -f $dir/index.txt ]; then + echo -n $pass |openssl enc -d -a -aes-256-cbc -in $dir/index.txt -out $tmp -pass stdin ||exit $? +else + echo > $tmp +fi +echo $myfile >> $tmp +rm -f $dir/index.txt +echo -n $pass |openssl enc -e -a -aes-256-cbc -in $tmp -out $dir/index.txt -pass stdin ||exit $? +echo "UPDATED $dir/index.txt" |