What does NTSTATUS 0xC029001E (STATUS_TPM_BADTAG) mean?

 
Previous Next
STATUS_TPM_AUTH2FAIL STATUS_TPM_IOERROR

STATUS_TPM_BADTAG

The TPM rejected the command tag

STATUS_TPM_BADTAG is a Windows NTSTATUS value mapped from the TPM facility. For STATUS_TPM_BADTAG, in this package the code belongs to TPM 1.2 style command processing, where Windows software, TBS, the TPM driver, and the hardware device all may be visible in the same failure path.

The relevant area is TPM command and response tags. TPM packets and many TPM structures use tag fields to identify command type, authorization form, or structure variant. This status means the tag value is not valid where it was supplied.

A bad tag is usually a framing/version problem. It may appear when code mixes authenticated and unauthenticated command forms, sends a TPM 2.0 structure to a TPM 1.2 command, or corrupts the first bytes of a marshaled command.

Diagnostic focus

  • Dump the raw tag value and the expected command/structure type.
  • Check whether the command requires an authenticated tag because authorization sessions are present.
  • Validate TPM version and marshaling before checking object authorization.

References for STATUS_TPM_BADTAG


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