Что означает код HRESULT 0x80280043 (TPM_E_INVALID_STRUCTURE)?

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

TPM_E_INVALID_STRUCTURE

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

Значение 0X80280043 возникает на границе TPM 1.2 NV storage and authorization path; конкретная проверка для этого случая — некорректный / структура. Диагностику начинайте с producer, object generation и входного state, а не с последнего пользовательского сообщения.

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

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

  • It specifically answers whether a TPM 1.2 structure has an inconsistent tag, version or layout for the command that parses it.
  • In contrast, TPM_E_BAD_TYPE is tied to an incorrect identity/blob type; it covers general structural inconsistency.
  • The one-variable check is to decode the complete blob using the matching TPM 1.2 structure definition and compare with a newly generated object.
  • To remediate it, regenerate the structure with one versioned serializer and reject cross-version or partially rewritten blobs.

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

  • NV index, permissions, locality и write/read lock state.
  • offset/size/counter или owner authorization scope.
  • TPM generation и первый command 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 на контролируемом устройстве.

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


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