| Предыдущий | Следующий |
| TPM_E_PCP_NOT_SUPPORTED | TPM_E_PCP_INTERNAL_ERROR |
TPM_E_PCP_BUFFER_TOO_SMALL
TPM_E_PCP_BUFFER_TOO_SMALL: смысл кода и диагностика
TPM_E_PCP_BUFFER_TOO_SMALL — HRESULT, относящийся к области TPM/Platform Crypto Provider. Выходной буфер, переданный Platform Crypto Provider, недостаточен для запрошенных данных TPM.
Применительно к TPM_E_PCP_BUFFER_TOO_SMALL код относится к Trusted Platform Module или Platform Crypto Provider. В случае TPM_E_PCP_BUFFER_TOO_SMALL причина может находиться в политике ключа, PCR-привязке, авторизации, размере буфера или текущем состоянии TPM.
Практический вывод для TPM_E_PCP_BUFFER_TOO_SMALL: этот HRESULT фиксирует описанное условие, но сам по себе не показывает, какой участник операции первым нарушил контракт. Для TPM_E_PCP_BUFFER_TOO_SMALL найдите первый вызов, вернувший статус, и только после этого меняйте конфигурацию подсистемы TPM/Platform Crypto Provider.
Как читать имя TPM_E_PCP_BUFFER_TOO_SMALL
Имя TPM_E_PCP_BUFFER_TOO_SMALL помогает сузить поиск: PCP — технический маркер «pcp»; BUFFER — буфер; TOO — технический маркер «too»; SMALL — недостаточный размер. Эти части имени не заменяют документацию API, но позволяют проверить, что журнал и код относятся к одному и тому же условию.
Что проверить в первую очередь
Применительно к TPM_E_PCP_BUFFER_TOO_SMALL ошибка связана с размером или диапазоном. В случае TPM_E_PCP_BUFFER_TOO_SMALL разделяйте размер выделенного буфера, фактическую длину данных, требуемую длину и единицы измерения.
- Для TPM_E_PCP_BUFFER_TOO_SMALL запишите переданный и требуемый размеры, тип счётчика и единицы — байты, символы, элементы или блоки.
- При разборе TPM_E_PCP_BUFFER_TOO_SMALL проверьте подготовку TPM, состояние самотестирования, версию прошивки и журнал событий измеряемой загрузки.
- При разборе TPM_E_PCP_BUFFER_TOO_SMALL не выполняйте Clear-TPM как первый шаг: это может уничтожить ключи и усложнить восстановление.
- При разборе TPM_E_PCP_BUFFER_TOO_SMALL сравните требования операции с фактическими свойствами ключа, включая AIK, ticket и PCR binding.
- При разборе TPM_E_PCP_BUFFER_TOO_SMALL запишите операцию PCP/TPM, имя ключа, алгоритм, политику использования, PCR-набор и размер каждого буфера.
Какие данные собрать
- Для TPM_E_PCP_BUFFER_TOO_SMALL сохраните полный HRESULT и нижележащий TPM return code, если API его предоставляет.
- Для TPM_E_PCP_BUFFER_TOO_SMALL проверьте операцию на новом тестовом ключе с минимальной политикой, не затрагивая рабочие защитники.
- Для TPM_E_PCP_BUFFER_TOO_SMALL соберите tpmtool gatherlogs и системные события TPM перед изменением состояния модуля.
Проверка после изменения
Применительно к TPM_E_PCP_BUFFER_TOO_SMALL проверка исправления TPM_E_PCP_BUFFER_TOO_SMALL должна включать успешный рабочий путь, предсказуемый отказ на некорректном входе и отсутствие новых предупреждений в журналах подсистемы TPM/Platform Crypto Provider.
Ссылки по TPM_E_PCP_BUFFER_TOO_SMALL
Нужно найти другой код? Найти другой код состояния или ошибки.