Что означает код HRESULT 0x8028002B (TPM_E_BAD_DATASIZE)?

 
Предыдущий Следующий
TPM_E_BAD_SCHEME TPM_E_BAD_MODE

TPM_E_BAD_DATASIZE

Практическая интерпретация

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

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

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

  • Rejected invariant: a TPM 1.2 data or blob length is inconsistent with the command, key, scheme or enclosing structure.
  • TPM_E_BADTAG rejects header type, while it reaches a length relationship in the body or referenced object.
  • Safe comparison: compare a byte-for-byte command decode with the specification and test the nearest valid boundary size.
  • Decisive capture: declared and actual lengths at every layer, paramSize, key modulus size, encrypted blob size, structure tags, and any base64 or network conversion.

Evidence первого возврата

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

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

Контрольный эксперимент

Сопоставьте producer с «некорректный / размер данных». Если method, identity объекта или generation отличаются, это уже другой эксперимент, даже когда верхний слой показывает тот же общий текст.

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

После исправления

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

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


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