| Предыдущий | Следующий |
| NTE_DOUBLE_ENCRYPT | NTE_BAD_PROV_TYPE |
NTE_BAD_PROVIDER
NTE_BAD_PROVIDER означает, что указанный криптографический поставщик недопустим для данного запроса. Имя поставщика может быть неверным, поставщик может отсутствовать в системе либо быть несовместимым с выбранным типом поставщика и алгоритмом.
Восстановление при этом результате
- Запишите точные имя и тип поставщика, а не только HRESULT.
- Проверьте установку и регистрацию поставщика в затронутой системе и для архитектуры процесса.
- Используйте поддерживаемого поставщика, явно выбранного приложением или конфигурацией платформы.
Microsoft: CryptAcquireContext
Диагностическая интерпретация
NTE_BAD_PROVIDER имеет значение HRESULT 0x80090013. AllStat описывает состояние как «указан недопустимый поставщик». На практике трактуйте это на границе обработки криптографии, сертификатов, доверия или поставщика ключей, а не как общее сообщение Windows.
Какие данные собирать для этого результата
- Зафиксируйте точный метод COM или Windows API, его входной объект, вызывающий поток и полное значение 0x80090013 до того, как обёртка превратит его в исключение или логический результат.
- Сохраните текст IErrorInfo, идентификатор активности, запись журнала событий и трассировку подсистемы, где упоминается этот HRESULT либо операция nte/provider.
- Воспроизведите это состояние на минимальном корректном вводе и отметьте, меняется ли результат при другой идентичности, архитектуре, состоянии службы или целевом объекте.
Повтор и восстановление при этом результате
Повторяйте операцию только если API-владелец документирует временное состояние либо после изменения причины «указан недопустимый поставщик». Ошибки конфигурации, политики, формата и авторизации обычно сначала требуют исправления; немедленный цикл повторов может скрыть исходное место вызова и добавить вторичные ошибки.
Нужно найти другой код? Найти другой код состояния или ошибки.
