What does HRESULT 0x802800A3 (TPM_20_E_EXPIRED) mean?

 
Previous Next
TPM_20_E_BAD_AUTH TPM_20_E_POLICY_CC

TPM_20_E_EXPIRED

A policy session can carry a timeout established by policy commands that use a TPM nonce and expiration value. This response says that the TPM considers that authorization window expired, or that the session time epoch no longer matches. It is therefore tied to TPM session state and time semantics, not simply to the wall clock displayed by the host operating system.

Situations that create a timeout

  • TPM2_PolicySigned and TPM2_PolicySecret can set a policy expiration and may return timeout data or a ticket for later use.
  • A policy based on TPM time can become invalid before the protected command is sent, especially when workflow pauses between the policy step and authorization.
  • Restoring or reusing a cached session without preserving its valid TPM state can leave a caller with an expired context.

What to record

Capture the policy command that established the time limit, its expiration input, nonce usage, TPM clock information and the elapsed workflow time. Recreate the session and rerun the policy before reissuing the protected command. Do not fix this by altering the host clock; that does not reconstruct the TPM's session state.

TCG: policy session timeout checks · tpm2_policysecret expiration options · tpm2_startauthsession


Looking for a different code? Search another status or error code.