9 compliance categories, 276 individual checks
FlexTPM was tested against Microsoft's official TPM 2.0 test suite, the same tool used to validate hardware TPM chips. Every test passed. The full results are below.
| Command | Success | Fail | Avg Time | Error Codes |
|---|---|---|---|---|
| ActivateCredential | 2 | 0 | 2.1 ms | - |
| Create | 3 | 0 | 262.0 ms | - |
| CreatePrimary | 8 | 0 | 23.2 ms | - |
| DictionaryAttackLockReset | 11 | 0 | 1.2 ms | - |
| DictionaryAttackParameters | 11 | 0 | 0.7 ms | - |
| Duplicate | 0 | 1 | - | Attributes |
| EvictControl | 2 | 0 | <1 ms | - |
| FlushContext | 67 | 0 | 0.7 ms | - |
| GetCapability | 28 | 0 | 0.5 ms | - |
| GetRandom | 21 | 0 | 1.8 ms | - |
| GetSessionAuditDigest | 3 | 1 | 1.4 ms | BadAuth |
| Import | 2 | 0 | 2.1 ms | - |
| Load | 5 | 1 | 1.7 ms | AuthMissing |
| LoadExternal | 1 | 0 | 4.4 ms | - |
| MakeCredential | 1 | 0 | <1 ms | - |
| NvDefineSpace | 2 | 0 | 0.5 ms | - |
| NvReadPublic | 2 | 0 | <1 ms | - |
| NvUndefineSpace | 2 | 0 | <1 ms | - |
| ObjectChangeAuth | 1 | 0 | <1 ms | - |
| PolicyCommandCode | 3 | 0 | 1.4 ms | - |
| PolicyOR | 2 | 0 | <1 ms | - |
| PolicyRestart | 2 | 0 | <1 ms | - |
| PolicySecret | 2 | 0 | 2.0 ms | - |
| ReadPublic | 1 | 1 | 4.0 ms | Handle |
| RsaDecrypt | 4 | 0 | 2.1 ms | - |
| RsaEncrypt | 1 | 0 | <1 ms | - |
| Sign | 2 | 0 | 4.3 ms | - |
| StartAuthSession | 53 | 0 | 1.2 ms | - |
| StirRandom | 10 | 0 | 0.8 ms | - |
| TestParms | 20 | 0 | 0.6 ms | - |