Что означает код HRESULT 0xC004D20C (SL_REMAPPING_SP_PUB_CRYPTO_NOT_BLOCK_ALIGNED)?

 
Предыдущий Следующий
SL_REMAPPING_SP_PUB_CRYPTO_KEY_NOT_FOUND SL_REMAPPING_SP_PUB_CRYPTO_INVALID_SIGNATURELENGTH

SL_REMAPPING_SP_PUB_CRYPTO_NOT_BLOCK_ALIGNED

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

SL_REMAPPING_SP_PUB_CRYPTO_NOT_BLOCK_ALIGNED (0XC004D20C) — длина входных данных не кратна размеру блока выбранного блочного шифра.

Алгоритм и block size уже определены, но фактический буфер заканчивается не на границе блока. Причиной часто бывает неверное padding или длина сериализованных данных.

Для такого криптографического статуса полезно сохранить идентификатор провайдера и алгоритма, размеры входных буферов и вызываемую функцию; закрытые ключи и защищённые лицензионные данные в диагностический отчёт не включают.

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

  • Сравните длину входного буфера с размером блока алгоритма.
  • Проверьте добавление/удаление padding на предыдущем этапе.
  • Убедитесь, что длина передаётся в байтах и не была рассчитана по символам или элементам другой структуры.

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


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