1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- # SPDX-License-Identifier: BSD-3-Clause
- source helpers.sh
- cleanup() {
- if [ "$1" != "no-shut-down" ]; then
- shut_down
- fi
- }
- trap cleanup EXIT
- start_up
- cleanup "no-shut-down"
- aesmodes="$(populate_algs "details['encrypting'] and details['symmetric']")"
- hashalgs="$(populate_algs "details['hash'] and not details['method'] \
- and not details['signing'] \
- and not details['symmetric'] \
- and alg is not None")"
- eccmethods="$(populate_algs "details['signing'] and not details['hash'] and \"ec\" in alg")"
- rsamethods="$(populate_algs "details['signing'] and not details['hash'] and \"rsa\" in alg")"
- # Test that common algorithms are supported
- for i in "rsa" "xor" "hmac" "ecc" "keyedhash"; do
- tpm2 testparms "${i}"
- done
- # Test that RSA signing schemes are supported
- for i in ${rsamethods}; do
- echo "tpm2 testparms rsa:${i}"
- tpm2 testparms "rsa:${i}"
- done
- # Test that ECC signing schemes are supported
- for i in ${eccmethods}; do
- tpm2 testparms "ecc:${i}"
- done
- # Test that aes modes are supported
- for i in ${aesmodes}; do
- tpm2 testparms "aes128${i}"
- done
- # Test that xor on hash algs is supported
- for i in ${hashalgs}; do
- tpm2 testparms "xor:${i}"
- done
- # Test that hmac on hash algs is supported
- for i in ${hashalgs}; do
- tpm2 testparms "hmac:${i}"
- done
- # Test that null algorithm raise an error (error from software stack)
- if ! tpm2 testparms "null" 2>&1 1>/dev/null | \
- grep -q "Invalid or unsupported by the tool : null"; then
- echo "tpm2 testparms with 'null' algorithm didn't fail"
- exit 1
- else
- true
- fi
- # Attempt to specify a suite that is not supported (error from TPM)
- if tpm2 getcap ecc-curves | grep -q TPM2_ECC_NIST_P521; then
- if tpm2 testparms "ecc521:ecdsa:camellia" &>/dev/null; then
- echo "tpm2 testparms succeeded while it shouldn't or TPM failed"
- exit 1
- else
- true
- fi
- fi
- exit 0
|