| Previous | Next |
| TPM_E_DAA_INPUT_DATA0 | TPM_E_DAA_ISSUER_SETTINGS |
TPM_E_DAA_INPUT_DATA1
Interpret the boundary first
TPM_E_DAA_INPUT_DATA1 (0x80280052) belongs to TPM 1.2 Direct Anonymous Attestation. The base What Is page already shows the short Windows message; the additional diagnostic value is that this result marks the second DAA input parameter is inconsistent with the current TPM 1.2 DAA transcript.
Build the command transcript
| Question | Evidence for this HRESULT |
|---|---|
| What exact state was rejected? | the second DAA input parameter is inconsistent with the current TPM 1.2 DAA transcript |
| Which layer owns the result? | The staged DAA enrollment or signing state machine. |
| What must be correlated? | DAA stage, inputData1 bytes and length, matching inputData0, issuer settings, previous TPM output, and nonce linkage |
| What is the controlled comparison? | generate inputData1 again from the same verified prior-stage data and compare its encoding |
A useful this result trace links three code-specific timelines: the application call, the local TBS/provider or firmware event, and the raw command/response exchange. The result timestamps should describe one attempt; combining data from separate retries is particularly misleading for authorization sessions, context counters, DAA stages and lockout state.
Test one hypothesis
The one-variable check is to generate inputData1 again from the same verified prior-stage data and compare its encoding. Record the before/after state that the result command is allowed to change. If the operation can have side effects, use a disposable key, session, counter or NV index rather than production material.
- Capture this result and
0x80280052at the first code-specific return boundary. - Decode the result state: DAA stage, issuer and TPM-specific structures, previous outputs, nonces and exact transcript bytes.
- Run the result controlled comparison once and preserve both binary transcripts.
- Verify the expected this result output or state transition instead of relying on absence of a UI message.
Do not merge these conditions
| Comparison code | Built-in distinction |
|---|---|
TPM_E_DAA_ISSUER_SETTINGS | The consistency check on DAA_issuerSettings has failed — a separate checkpoint when compared with it. |
TPM_E_DAA_INPUT_DATA0 | The consistency check on DAA parameter inputData0 has failed — a separate checkpoint when compared with it. |
TPM_E_DAA_TPM_SETTINGS | The consistency check on DAA_tpmSpecific has failed — a separate checkpoint when compared with it. |
It specifically answers whether the second DAA input parameter is inconsistent with the current TPM 1.2 DAA transcript. In contrast, TPM_E_DAA_INPUT_DATA0 identifies a different parameter in the same staged protocol.
A safe recovery path
To remediate it, correct transcript construction and restart the affected DAA stage with mutually consistent inputs. Do not mix values from separate DAA attempts. The protocol is staged and transcript-bound; substituting one issuer value or nonce can make every later stage misleading.
After correcting it, start with a fresh caller context where the protocol requires one, replay the original intended operation, and confirm that hardware-backed policy remains enforced.
Authoritative references
- TCG: TPM 1.2 Main Specification — source for the checkpoint.
- TCG: TPM 1.2 Part 2 — DAA structures — source for the checkpoint.
- TCG: TPM 1.2 Part 3 — DAA commands — source for the checkpoint.
- Microsoft: TPM technology overview — source for the checkpoint.
Looking for a different code? Search another status or error code.