Что означает код HRESULT 0x80280042 (TPM_E_BAD_ATTRIBUTES)?

 
Предыдущий Следующий
TPM_E_WRITE_LOCKED TPM_E_INVALID_STRUCTURE

TPM_E_BAD_ATTRIBUTES

Что означает результат

При результате TPM_E_BAD_ATTRIBUTES (0X80280042) локализуйте операцию внутри TPM 1.2 command decoder, authorization and state machine. Практическая граница — некорректный / атрибуты; поздняя обёртка может скрыть исходный command, policy или lifecycle-state.

Перед clear, ownership change, NV rewrite или key deletion сохраните состояние и минимальный failing command: destructive recovery может уничтожить evidence и защищённые данные.

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

  • Neither substitution identifies the combination of TPM 1.2 NV attributes is internally contradictory or forbidden as precisely as it.
  • TPM_E_PER_NOWRITE focuses on missing write protection, while this code covers broader attribute conflicts.
  • Decisive capture: all permission bits, locality masks, index type, authorization flags, size, and the define-space structure before serialization.
  • Safe comparison: start from a minimal accepted NV definition and add one attribute at a time until the conflicting pair is isolated.

Что сохранить до retry

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

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

Проверка причинной границы

Сравните failing и working trace той же операции. Поле или state, соответствующий «некорректный / атрибуты», должен быть единственным существенным отличием.

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

Исправление и повтор

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

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


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