Files
cryptr/tests/test.bash

30 lines
860 B
Bash
Raw Normal View History

2017-10-02 23:42:59 -07:00
#!/usr/bin/env bash
set -eo pipefail; [[ $TRACE ]] && set -x
plaintext=$(mktemp /tmp/cryptr.XXXXXXXX)
2017-10-04 18:22:50 -07:00
dd if=/dev/urandom bs=4096 count=1 2> /dev/null | LC_ALL=C tr -dc 'A-Za-z0-9' | head -c512 > "$plaintext"
plaintext_sha=($(openssl dgst -sha256 "$plaintext"))
export CRYPTR_PASSWORD
CRYPTR_PASSWORD=$(dd if=/dev/urandom bs=200 count=1 2> /dev/null | LC_ALL=C tr -dc 'A-Za-z0-9' | head -c32)
2017-10-02 23:42:59 -07:00
cryptr encrypt "$plaintext"
rm -f "$plaintext"
2017-10-04 18:22:50 -07:00
if [[ ! -f "$plaintext".aes ]]; then
printf "Encrypted out file %s was not created" "$plaintext".aes 1>&2
exit 3
fi
2017-10-02 23:42:59 -07:00
cryptr decrypt "$plaintext".aes
2017-10-04 18:22:50 -07:00
decrypted_sha=($(openssl dgst -sha256 "$plaintext"))
rm -f "$plaintext".aes
rm -f "$plaintext"
2017-10-02 23:42:59 -07:00
2017-10-04 18:22:50 -07:00
if [ "${plaintext_sha[1]}" != "${decrypted_sha[1]}" ]; then
printf "Hash mismatch\n\t%s != %s" "${plaintext_sha[1]}" "${decrypted_sha[1]}" 1>&2
exit 4
fi