| Предыдущий | Следующий |
| CRYPT_E_STREAM_INSUFFICIENT_DATA | CRYPT_E_BAD_ENCODE |
CRYPT_E_BAD_LEN
Что означает CRYPT_E_BAD_LEN
CRYPT_E_BAD_LEN — Выходной буфер CryptoAPI слишком мал для результата. Обычно вызывающий код должен сначала запросить требуемый размер и повторить вызов с подходящим буфером.
Код относится к криптографическим интерфейсам Windows. Его смысл зависит от поставщика, алгоритма, ключа, сертификата или формата криптографического сообщения.
Проверка причины
Зафиксируйте конкретный CryptoAPI-вызов, значение входного параметра размера и размер буфера, переданный при первом сбое. Для API с двухпроходной схемой сначала запросите требуемую длину с null/минимальным буфером, затем выделите именно возвращённый размер и повторите вызов.
Какие данные собрать
Сравните требуемую и фактически выделенную длину, тип результата и кодировку структуры. Если размер меняется между двумя вызовами, проверьте race/state change у сообщения или сертификата вместо безусловного увеличения буфера.
Ссылки по этому результату
Нужно найти другой код? Найти другой код состояния или ошибки.
