X-Git-Url: http://git.scottworley.com/overonion/blobdiff_plain/f5ec0b4b91687c7a34d4760381f6e7424f981127..5ed90197acc28a11c20c9e901201c49f3272d77d:/overonion-make-key?ds=sidebyside diff --git a/overonion-make-key b/overonion-make-key index 3b0289f..7d0ff1a 100755 --- a/overonion-make-key +++ b/overonion-make-key @@ -17,20 +17,36 @@ ciphers=( umask 077 +random_source="/dev/random" +if [[ "$1" == '--make_INSECURE_key' ]];then + shift + random_source="/dev/urandom" +fi + if (( $# != 1));then - echo "usage: overonion-make-key keyfile" + echo "usage: overonion-make-key keyfile" >&2 exit 1 fi keyfile=$1 if [[ -e "$keyfile" ]];then - echo "That keyfile already exists. I refuse to overwrite it." + echo "That keyfile already exists. I refuse to overwrite it." >&2 exit 1 fi -i=0 -while read -r cipher;do - echo -n $'\r'"Generating key $((++i))/${#ciphers[*]}" - sleep 10 - cat >> "$keyfile" <<< "$cipher $(head -c 99 /dev/random | base64 --wrap=0 )" -done < <( IFS=$'\n'; shuf <<< "${ciphers[*]}"; ) -echo +keys_needed=$((${#ciphers[*]} * 2)) +keys_generated=0 + +function generate_keys() { + while read -r cipher;do + echo -n $'\r'"Generating key $((++keys_generated))/$keys_needed" >&2 + echo "openssl-enc $cipher $(head -c 99 "$random_source" | base64 --wrap=0 )" + done < <( IFS=$'\n'; shuf <<< "${ciphers[*]}"; ) +} + +{ + generate_keys + echo "reverse" + generate_keys +} > "$keyfile" + +echo 2>&1