TPM testing is done via tpmtest; many test cases work, the remaining failure is a hardware issue due to my particular TPM2 device: $ tpmtest Initializing Resource Manager Interface socket created: 0x3 socket created: 0x4 Client connected to server on port: 2324 Client connected to server on port: 2323 GET/SET DECRYPT PARAM TESTS: failing case: PASSED! failing case: PASSED! passing case: PASSED! failing case: PASSED! failing case: PASSED! failing case: PASSED! failing case: PASSED! failing case: PASSED! failing case: PASSED! failing case: PASSED! passing case: PASSED! passing case: PASSED! passing case: PASSED! passing case: PASSED! failing case: PASSED! failing case: PASSED! passing case: PASSED! passing case: PASSED! passing case: PASSED! failing case: PASSED! passing case: PASSED! passing case: PASSED! passing case: PASSED! passing case: PASSED! passing case: PASSED! passing case: PASSED! failing case: PASSED! passing case: PASSED! Check TPM type: discrete TPM (IFX) NV INDEX LIST CLEAR: passing case: PASSED! The count of defined NV Index: 0 Q - QUIT THE PROGRAM D - PRINT DESCRIPTION ON ALL CASES 0 - RUN ALL TEST CASES 1 - GET/SET DECRYPT PARAM TESTS 2 - STARTUP TESTS 3 - CREATE, CREATE PRIMARY, and LOAD TESTS 4 - NV INDEX TESTS 5 - UNSEAL TEST 6 - TPM Version TESTS 7 - SELFTEST TESTS 8 - GET TEST RESULT TESTS 9 - DICTIONARY ATTACK LOCK RESET TEST 10 - START_AUTH_SESSION TESTS 11 - HIERARCHY CONTROL TESTS 12 - GET/SET ENCRYPT PARAM TESTS 13 - GET_CAPABILITY TESTS 14 - PCR_EXTEND, PCR_EVENT, PCR_ALLOCATE, and PCR_READ TESTS 15 - HASH TESTS 16 - POLICY TESTS 17 - CLEAR and CLEAR CONTROL TESTS 18 - CHANGE_EPS TESTS 19 - HIERARCHY_CHANGE_AUTH TESTS 20 - GET_RANDOM TESTS 21 - SHUTDOWN TESTS 22 - PASSWORD TESTS 23 - HMAC SESSION TESTS 24 - QUOTE CONTROL TESTS 25 - PCR ALLOCATE TEST 26 - RM TESTS 27 - NV INDEX PROTOTYPE TESTS 28 - DECRYPT/ENCRYPT SESSION TESTS 29 - SIMPLE HMAC SESSION TEST 30 - SIMPLE POLICY SESSION TEST 31 - CHANGE_PPS TESTS 32 - EC Ephemeral TESTS 33 - SYMMETRIC ENCRYPT/DECRYPT TESTS 34 - ASYMMETRIC ENCRYPT/DECRYPT TESTS 35 - VERIFY SIGNATURE WITH EXTERNAL KEY TEST 36 - VERIFY SIGNATURE WITH CREATED KEY TEST 37 - NV EXTENSION TEST 38 - PCR EXTENDED TEST 39 - CLOCK/TIME TEST Please select an action:0 STARTUP TESTS: passing case: PASSED! failing case: PASSED! passing case: PASSED! passing case: PASSED! failing case: PASSED! passing case: PASSED! passing case: PASSED! passing case: PASSED! failing case: PASSED! passing case: PASSED! SELFTEST TESTS: passing case: PASSED! passing case: PASSED! passing case: PASSED! GET TEST RESULT TESTS: passing case: PASSED! passing case: PASSED! passing case: PASSED! passing case: PASSED! passing case: PASSED! passing case: PASSED! passing case: PASSED! passing case: PASSED! DICTIONARY ATTACK LOCK RESET TEST: passing case: PASSED! CREATE, CREATE PRIMARY, and LOAD TESTS: failing case: PASSED! passing case: PASSED! New key successfully created in NULL hierarchy (RSA 2048). Handle: 0x80000001 passing case: PASSED! passing case: PASSED! passing case: PASSED! Name of loaded key: 00 04 30 55 26 eb e4 29 79 be 70 93 b6 d5 1f da a1 b5 ce 3f 46 84 passing case: PASSED! Loaded key handle: 80000002 HIERARCHY CONTROL TESTS: passing case: PASSED! failing case: PASSED! passing case: PASSED! failing case: PASSED! passing case: PASSED! NV INDEX PROTOTYPE TESTS: PROVISION NV AUX: passing case: PASSED! passing case: PASSED! passing case: PASSED! passing case: PASSED! passing case: PASSED! PROVISION OTHER NV INDICES: passing case: PASSED! passing case: PASSED! passing case: PASSED! passing case: PASSED! passing case: PASSED! TPM OTHER READ/WRITE TEST passing case: PASSED! passing case: PASSED! passing case: PASSED! passing case: PASSED! passing case: PASSED! passing case: PASSED! passing case: PASSED! GET/SET ENCRYPT PARAM TESTS: passing case: PASSED! failing case: PASSED! failing case: PASSED! passing case: PASSED! passing case: PASSED! passing case: PASSED! failing case: PASSED! passing case: PASSED! passing case: PASSED! passing case: PASSED! passing case: PASSED! passing case: PASSED! passing case: PASSED! failing case: PASSED! failing case: PASSED! failing case: PASSED! failing case: PASSED! failing case: PASSED! DECRYPT/ENCRYPT SESSION TESTS: passing case: PASSED! passing case: PASSED! passing case: PASSED! passing case: PASSED! passing case: FAILED! TPM Error: 0x2c2