Что означает код NTSTATUS 0xC0000157 (STATUS_SECRET_TOO_LONG)?

 
Предыдущий Следующий
STATUS_TOO_MANY_SECRETS STATUS_INTERNAL_DB_ERROR

STATUS_SECRET_TOO_LONG

Секрет LSA превышает допустимый размер хранилища

API закрытых данных LSA принимают LSA_UNICODE_STRING ключ и значение закрытых данных, но база данных политик накладывает ограничения реализации. Этот статус означает, что вызывающая сторона превысила допустимую длину секрета. Разделение произвольных данных приложения на несколько секретов LSA обычно является неправильным решением, поскольку этот механизм не предназначен для общего хранилища зашифрованных блоков.

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

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

  • Запишите длину имени ключа и длину закрытых данных в байтах и символах.
  • Проверьте формирование полей Length и MaximumLength структуры LSA_UNICODE_STRING.
  • Используйте секреты LSA только для документированного сценария закрытых данных; слишком большое универсальное хранилище следует перепроектировать.

Ссылки


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