Site icon EfmSoft

What does HRESULT 0x8028004C (TPM_E_DELEGATE_FAMILY) mean?

 
Previous Next
TPM_E_DELEGATE_LOCK TPM_E_DELEGATE_ADMIN

TPM_E_DELEGATE_FAMILY

The state machine behind the code

TPM_E_DELEGATE_FAMILY (0x8028004C) belongs to TPM 1.2 resources, delegation and contexts. The base What Is page already shows the short Windows message; the additional diagnostic value is that this result marks a delegation operation targets a family different from the one authorized by the delegation blob.

Evidence table

QuestionEvidence for this HRESULT
What exact state was rejected?a delegation operation targets a family different from the one authorized by the delegation blob
Which layer owns the result?The TPM resource, context or delegation manager, sometimes mediated by TBS virtualization.
What must be correlated?family ID in the command, family ID and count in the delegation blob, delegation row, owner state, and application mapping
What is the controlled comparison?decode both family references and test a freshly issued delegation for the selected family

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.

Reproduction plan

The one-variable check is to decode both family references and test a freshly issued delegation for the selected family. 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.

  1. Capture this result and 0x8028004C at the first code-specific return boundary.
  2. Decode the result state: handle namespace, owning context, save/load history, family state and resource lifetime.
  3. Run the result controlled comparison once and preserve both binary transcripts.
  4. Verify the expected this result output or state transition instead of relying on absence of a UI message.

Contrast with neighboring results

Comparison codeBuilt-in distinction
TPM_E_DELEGATE_ADMINDelegation table management not enabled — a separate checkpoint when compared with it.
TPM_E_DELEGATE_LOCKThe delegate administration is locked — a separate checkpoint when compared with it.
TPM_E_TRANSPORT_NOTEXCLUSIVEThere was a command executed outside of an exclusive transport session — a separate checkpoint when compared with it.

It specifically answers whether a delegation operation targets a family different from the one authorized by the delegation blob. In contrast, TPM_E_INVALID_FAMILY rejects a nonexistent family, while it identifies cross-family use of a delegation.

Confirming remediation

To remediate it, issue a new delegation under the intended family rather than rewriting identifiers in an existing blob. Do not persist volatile TPM or TBS handles as durable identifiers. A numeric handle can be valid only inside the creating context and lifecycle, even when its value looks unchanged after restart.

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


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

Exit mobile version