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

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

TPM_E_BAD_DATASIZE

Что означает TPM_E_BAD_DATASIZE

TPM_E_BAD_DATASIZE означает, что размер переданного блоба или одного из его полей не соответствует ожидаемому формату TPM.

Что проверить

  • Разберите буфер по полям и сравните объявленные длины с фактически доступными байтами.
  • Проверьте соответствие размера ключа, digest или подписи выбранному алгоритму и схеме.
  • Если данные пришли по сети или из файла, исключите усечение, двойное кодирование и неверное преобразование endian.

Как исправлять

Не корректируйте длину только в заголовке. Сначала восстановите правильную структуру данных, затем заново вычислите все зависимые поля размера. Для сложных TPM-структур полезно сравнить сериализованный буфер с эталоном, сформированным штатной библиотекой TSS.

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


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