| Предыдущий | Следующий |
| TPM_E_ATTESTATION_CHALLENGE_NOT_SET | TPM_E_KEY_ALREADY_FINALIZED |
TPM_E_NOT_PCR_BOUND
Что означает TPM_E_NOT_PCR_BOUND
TPM_E_NOT_PCR_BOUND — HRESULT, относящийся к области TPM/Platform Crypto Provider. Ключ TPM не содержит привязки к регистрам PCR, необходимой для запрошенной операции.
В случае TPM_E_NOT_PCR_BOUND статус возник при работе с ключом, политикой или командой TPM. Применительно к TPM_E_NOT_PCR_BOUND диагностика должна учитывать тип ключа, алгоритм, PCR, ticket и состояние самотестирования модуля.
Практический вывод для TPM_E_NOT_PCR_BOUND: этот HRESULT фиксирует описанное условие, но сам по себе не показывает, какой участник операции первым нарушил контракт. Для TPM_E_NOT_PCR_BOUND найдите первый вызов, вернувший статус, и только после этого меняйте конфигурацию подсистемы TPM/Platform Crypto Provider.
Как читать имя TPM_E_NOT_PCR_BOUND
Имя TPM_E_NOT_PCR_BOUND помогает сузить поиск: NOT — отрицание условия; PCR — регистры PCR; BOUND — привязка. Эти части имени не заменяют документацию API, но позволяют проверить, что журнал и код относятся к одному и тому же условию.
Практическая диагностика
В случае TPM_E_NOT_PCR_BOUND важно сохранить исходный контекст вызова: имя функции, параметры, состояние объекта и первый низкоуровневый статус. Применительно к TPM_E_NOT_PCR_BOUND без этого одинаковый HRESULT может ошибочно связываться с разными причинами.
- При разборе TPM_E_NOT_PCR_BOUND сравните требования операции с фактическими свойствами ключа, включая AIK, ticket и PCR binding.
- При разборе TPM_E_NOT_PCR_BOUND запишите операцию PCP/TPM, имя ключа, алгоритм, политику использования, PCR-набор и размер каждого буфера.
- При разборе TPM_E_NOT_PCR_BOUND проверьте подготовку TPM, состояние самотестирования, версию прошивки и журнал событий измеряемой загрузки.
- При разборе TPM_E_NOT_PCR_BOUND не выполняйте Clear-TPM как первый шаг: это может уничтожить ключи и усложнить восстановление.
Какие данные собрать
- Для TPM_E_NOT_PCR_BOUND проверьте операцию на новом тестовом ключе с минимальной политикой, не затрагивая рабочие защитники.
- Для TPM_E_NOT_PCR_BOUND соберите tpmtool gatherlogs и системные события TPM перед изменением состояния модуля.
- Для TPM_E_NOT_PCR_BOUND сохраните полный HRESULT и нижележащий TPM return code, если API его предоставляет.
Как подтвердить исправление
В случае TPM_E_NOT_PCR_BOUND для TPM_E_NOT_PCR_BOUND недостаточно скрыть ошибку повтором. Применительно к TPM_E_NOT_PCR_BOUND после изменения воспроизведите исходную операцию, проверьте конечное состояние объекта и убедитесь, что ресурсы освобождаются без потери первичного HRESULT.
Ссылки по TPM_E_NOT_PCR_BOUND
Нужно найти другой код? Найти другой код состояния или ошибки.