123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- # SPDX-License-Identifier: BSD-3-Clause
- #this script is for hash case testing
- source helpers.sh
- ticket_file=ticket.out
- hash_out_file=hash.out
- hash_in_file=hash.in
- out=out.yaml
- cleanup() {
- rm -f $ticket_file $hash_out_file $hash_in_file $out
- if [ "$1" != "no-shut-down" ]; then
- shut_down
- fi
- }
- trap cleanup EXIT
- start_up
- cleanup "no-shut-down"
- echo "T0naX0u123abc" > $hash_in_file
- # Test with ticket and hash output files (binary) and verify that the output
- # hash is correct. Ticket is not stable and changes run to run, don't verify it.
- tpm2 hash -C e -g sha1 -o $hash_out_file -t $ticket_file $hash_in_file
- expected=`shasum -a 1 $hash_in_file | awk '{print $1}'`
- actual=`cat $hash_out_file | xxd -p -c 20`
- test "$expected" == "$actual"
- cleanup "no-shut-down"
- # Test platform hierarchy with multiple files & verify output against sha256sum
- # Test a file redirection as well. Output files are binary.
- echo "T0naX0u123abc" > $hash_in_file
- tpm2 hash -C p -g sha256 -o $hash_out_file -t $ticket_file < $hash_in_file
- expected=`shasum -a 256 $hash_in_file | awk '{print $1}'`
- actual=`cat $hash_out_file | xxd -p -c 32`
- test "$expected" == "$actual"
- cleanup "no-shut-down"
- # Test stdout output as well as no options.
- # Validate that hash outputs are in hex as expected.
- tpm_hash_val=`echo 1234 | tpm2 hash -C n --hex`
- sha1sum_val=`echo 1234 | shasum -a 1 | cut -d\ -f 1-2 | tr -d '[:space:]'`
- if [ "$tpm_hash_val" != "$sha1sum_val" ]; then
- echo "Expected tpm and sha1sum to produce same hashes."
- echo "Got:"
- echo " tpm2 hash: $tpm_hash_val"
- echo " sha1sum: $sha1sum_val"
- exit 1
- fi
- # Test a file that cannot be done in 1 update call.
- # The tpm works on a 1024 block size.
- dd if=/dev/urandom of=$hash_in_file bs=2093 count=1 2>/dev/null
- tpm_hash_val=`tpm2 hash --hex $hash_in_file`
- sha1sum_val=`shasum -a 1 $hash_in_file | cut -d\ -f 1-2 | tr -d '[:space:]'`
- if [ "$tpm_hash_val" != "$sha1sum_val" ]; then
- echo "Expected tpm and sha1sum to produce same hashes"
- echo "Got:"
- echo " tpm2 hash: $tpm_hash_val"
- echo " sha1sum: $sha1sum_val"
- exit 1
- fi
- exit 0
|