| Previous | Next |
| TPM_20_E_PARENT | TPM_20_E_NO_RESULT |
TPM_20_E_NEEDS_TEST
The capability exists but still requires testing
TPM_20_E_NEEDS_TEST maps to TPM_RC_NEEDS_TEST. TPM 2.0 may defer testing of algorithms or functional blocks until they are first needed. This response indicates that the requested operation depends on a function whose self-test has not yet completed or has been scheduled for testing.
It is not equivalent to a permanent self-test failure. The normal sequence is to request incremental or full self-test, wait while the TPM reports a testing state, and retrieve the final test result. If the result becomes TPM_RC_FAILURE, the problem has escalated from pending validation to failure mode.
Recommended handling
- Run the supported self-test command and use
TPM2_GetTestResultto obtain completion status and vendor data. - Allow for asynchronous completion instead of immediately repeating the original cryptographic command.
- Record which algorithm triggered the requirement; a different algorithm may already be tested.
- Escalate repeated or persistent failures to the firmware vendor rather than clearing TPM ownership.
References
- TCG Part 2: self-test response codes
- TCG Part 3: SelfTest and GetTestResult
- tpm2-tools: selftest
- tpm2-tools: gettestresult
Looking for a different code? Search another status or error code.