#!/bin/bash # ----------------------------------------------------------------------------- # Decompress and decrypt a specified file # ----------------------------------------------------------------------------- infname="$1" kfile="$2" if [ -z "$kfile" ]; then echo "Error must specify text and keyfile" 1>&2 exit 1 fi if [ 0 -eq 0 ]; then zipfname=${infname%.*} rm $zipfname echo "Writing to $zipfname" cat $infname | base64 -d > $zipfname first_inner_zip_fname=$(unzip -l $zipfname | head -n 4 | tail -n 1 | awk '{print $4}') if [ -e $first_inner_zip_fname ]; then rm $first_inner_zip_fname fi unzip $zipfname echo "Decrypting $first_inner_zip_fname" /usr/bin/openssl enc -aes-256-cbc -d -in $first_inner_zip_fname -pass file:$kfile else echo "Clearing" rm $infname.enc.zip $infname.enc $infname.enc.zip.b64 fi