X-Git-Url: http://git.scottworley.com/overonion/blobdiff_plain/b88d75ad2dc471edd9da2e0678e6788175305f9e..020ecc556d9ea128280ab103cef321cf91d1de40:/overonion-make-key diff --git a/overonion-make-key b/overonion-make-key index 6cfc349..0e588b2 100755 --- a/overonion-make-key +++ b/overonion-make-key @@ -1,5 +1,7 @@ #!/bin/bash +key_size=99 + ciphers=( bf-cbc bf-cfb bf-ecb bf-ofb cast-cbc cast5-cbc cast5-cfb cast5-ecb cast5-ofb @@ -14,6 +16,9 @@ ciphers=( aes-192-cbc aes-192-cfb aes-192-cfb1 aes-192-cfb8 aes-192-ecb aes-192-ofb aes-256-cbc aes-256-cfb aes-256-cfb1 aes-256-cfb8 aes-256-ecb aes-256-ofb ) +hashes=( + sha sha1 mdc2 ripemd160 sha224 sha256 sha384 sha512 md4 md5 dss1 +) umask 077 @@ -24,18 +29,37 @@ if [[ "$1" == '--make_INSECURE_key' ]];then 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[*]}" - cat >> "$keyfile" <<< "$cipher $(head -c 99 "$random_source" | 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 "$key_size" "$random_source" | base64 --wrap=0 )" + done < <( IFS=$'\n'; shuf <<< "${ciphers[*]}"; ) +} + +function generate_hashes() { + while read -r hash;do + echo "openssl-dgst $hash" + done < <( IFS=$'\n'; shuf <<< "${hashes[*]}"; ) +} + +{ + generate_hashes + generate_keys + echo "reverse" + generate_keys + generate_hashes +} > "$keyfile" + +echo 2>&1