Что означает код HRESULT 0x80290109 (TPMAPI_E_AUTHORIZATION_FAILED)?

 
Предыдущий Следующий
TPMAPI_E_ACCESS_DENIED TPMAPI_E_INVALID_CONTEXT_HANDLE

TPMAPI_E_AUTHORIZATION_FAILED

Что именно произошло

Для TPMAPI_E_AUTHORIZATION_FAILED (0X80290109) рабочая граница — авторизация / ошибка. Код относится к Windows TPM API, measured-boot/TCG data и TPM command preparation. Сохраняйте первый native return и identity объекта: именно они определяют, проверяется ли здесь input, capability, ownership, lifecycle или transport.

Authorization и policy фиксируйте как scope/identity без секрета. Не записывайте owner auth, private key material или полный sensitive blob в диагностический лог.

Фрагменты исходного EN-описания

  • It indicates that the authorization data supplied for the TPM operation does not validate for the target object or policy.
  • Verify that the correct authorization value, session, and target object are used together.
  • Check whether the object was cleared, reprovisioned, migrated, or replaced after credentials were saved.
  • Avoid logging authorization secrets while diagnosing the failed request.

Данные для первого снимка

  • key/blob type, algorithm, size и TPM/provider identity.
  • authorization scope без записи секретного значения.
  • точный TPM API method, object generation и первый native result.

TPMAPI может отклонить structure ещё до TBS/TPM command. Поэтому format/length/PCR/key validation нельзя автоматически считать аппаратной ошибкой TPM.

Контрольные признаки

Сделайте минимальный before/after experiment для «авторизация / ошибка». Не меняйте одновременно provider, input и state — такой тест не показывает, что именно исправило результат.

Сохраняйте scope authorization/policy, но не секрет. Access/policy rejection не следует обходить изменением serialized command или повтором с теми же правами.

Исправление

Исправьте authorization/policy на поддерживаемом уровне и повторите ту же операцию; не обходите policy изменением command encoding.

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


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