aboutsummaryrefslogtreecommitdiffstats
path: root/jsaccess/encrypt.sh
diff options
context:
space:
mode:
authorLaurent Ghigonis <laurent@p1sec.com>2013-06-16 20:41:12 +0200
committerLaurent Ghigonis <laurent@p1sec.com>2013-06-16 20:41:12 +0200
commit7604ea1493afbbb74b482d02a748875a4768ae58 (patch)
tree7854d358422a5fd770626b611d938839db4f8839 /jsaccess/encrypt.sh
parentjsaccess: naming (diff)
downloadlaurent-tools-7604ea1493afbbb74b482d02a748875a4768ae58.tar.xz
laurent-tools-7604ea1493afbbb74b482d02a748875a4768ae58.zip
jsaccess: now with dynamic file list and file name obfuscation
Diffstat (limited to 'jsaccess/encrypt.sh')
-rwxr-xr-xjsaccess/encrypt.sh43
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"