Что означает код HRESULT 0x8028003E (TPM_E_READ_ONLY)?

 
Предыдущий Следующий
TPM_E_BAD_LOCALITY TPM_E_PER_NOWRITE

TPM_E_READ_ONLY

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

Этот HRESULT 0X8028003E фиксирует условие чтение / только в подсистеме TPM 1.2 NV storage and authorization path. Для корректного сравнения нужны один и тот же API, сопоставимый object state и первый возврат до recovery.

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

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

  • TPM_E_AREA_LOCKED is a mutable lock-state issue, while it follows from the index permission model.
  • Safe comparison: query the public NV definition and write a disposable index created with explicit write permission.
  • Decisive capture: NV index, permission bits, define-space request that created it, requested offset and length, and any permanent or startup-clear locks.
  • Do not attempt to mutate a read-only index; create a new index with the correct policy if the application owns the data model.

Что сохранить до 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 не делает их одним классом причины.

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

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

Локализуйте TPM 1.2 checkpoint «чтение / только» на raw command response; поздний CNG/BitLocker/WMI текст не должен подменять реальный TPM state.

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

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

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


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