| Предыдущий | Следующий |
| CRYPT_E_HASH_VALUE | CRYPT_E_ALREADY_DECRYPTED |
CRYPT_E_INVALID_INDEX
Что означает CRYPT_E_INVALID_INDEX
CRYPT_E_INVALID_INDEX: Запрошен signer, recipient, certificate, CRL или attribute по индексу, который не существует в текущем состоянии сообщения.
Что проверить
- Сначала получите актуальный count через соответствующий CryptMsgGetParam и проверьте границы.
- После удаления signer/certificate/CRL или unauthenticated attribute заново вычисляйте индексы: последующие элементы могут сместиться.
- Не переносите cached index между разными message handles или новым циклом decode.
Что делать
Исправление должно привязать индекс к конкретному message state. Проверка только на отрицательное значение недостаточна: верхняя граница зависит от реально декодированного содержимого и может меняться во время обработки.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.