Что означает код HRESULT 0x80280045 (TPM_E_BAD_COUNTER)?

 
Предыдущий Следующий
TPM_E_KEY_OWNER_CONTROL TPM_E_NOT_FULLWRITE

TPM_E_BAD_COUNTER

Объект и состояние

Этот HRESULT 0X80280045 фиксирует условие некорректный / counter в подсистеме TPM 1.2 command decoder, authorization and state machine. Для корректного сравнения нужны один и тот же API, сопоставимый object state и первый возврат до recovery.

Key, delegation, DAA, migration и NV ошибки относятся к разным state machines TPM 1.2; одинаковый facility не делает их одним классом причины.

Конкретные признаки из исходного EN-описания

  • counter handle, label, creation and release history, owner state, saved application mapping, and whether the TPM was cleared.
  • Run this focused check: enumerate current counter information and create a disposable counter instead of trusting a persisted handle.
  • The supported direction is to refresh the counter handle after lifecycle changes and store a stable application identifier separately.
  • The practical distinction is that TPM_E_BAD_HANDLE is broader; it identifies the monotonic-counter namespace.

Минимальный trace

  • TPM 1.2 ordinal и handle/session generation.
  • ключ/структура/flags/algorithm fields, проверяемые командой.
  • authorization/locality/state и первый raw response.

TPM 1.2 использует stateful resources, authorization sessions, locality и strict binary structures; поздний provider message часто теряет конкретное поле, которое отклонил TPM.

Причинная граница

Сделайте минимальный before/after test для «некорректный / counter» и не меняйте одновременно policy, input и lifecycle-state: такой recovery не доказывает причинную связь.

Сопоставьте отклонённое поле «некорректный / counter» с TPM 1.2 structure/command contract. Не исправляйте сразу authorization, ownership и key template: это разные проверки.

Подтверждение результата

Исправьте только prerequisite «некорректный / counter» — structure, key/session, authorization, locality или persistent state — и повторите исходный TPM 1.2 command на контролируемом устройстве.

Технические ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.