| Предыдущий | Следующий |
| 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 только для документированного сценария закрытых данных; слишком большое универсальное хранилище следует перепроектировать.
Ссылки
- Microsoft: LsaStorePrivateData
- Microsoft: LsaRetrievePrivateData
- Открытые спецификации Microsoft: значения NTSTATUS
Нужно найти другой код? Найти другой код состояния или ошибки.