| Предыдущий | Следующий |
| NTE_PROV_TYPE_NOT_DEF | NTE_KEYSET_NOT_DEF |
NTE_PROV_TYPE_ENTRY_BAD
Что означает NTE_PROV_TYPE_ENTRY_BAD
NTE_PROV_TYPE_ENTRY_BAD (0X80090018) означает, что тип криптографического поставщика, переданный в dwProvType, существует в конфигурации Windows, но его зарегистрированная запись повреждена или недопустима. Microsoft отдельно указывает, что проблема может находиться как в пользовательском, так и в системном списке CSP по умолчанию.
В отличие от ошибки отсутствующего provider type, здесь Windows уже нашла регистрацию типа, но не может корректно использовать её. Поэтому смена ключевого контейнера или проверка входных данных шифрования обычно не затрагивает причину.
Что проверить
- Зафиксируйте
pszProvider,dwProvType, флагиCryptAcquireContextи учётную запись, от имени которой выполняется вызов. - Сравните поведение при явном имени CSP и при выборе поставщика по умолчанию. Если ломается только default selection, это помогает локализовать повреждённую запись типа.
- Проверьте установку конкретного CSP и его регистрацию штатными средствами поставщика. Не начинайте с ручного редактирования security-provider registry: ошибка указывает именно на конфигурацию поставщика, и ручная правка может сделать её менее восстановимой.
- Отличайте этот код от
NTE_PROV_TYPE_NOT_DEF, где записи типа нет вовсе, и отNTE_PROVIDER_DLL_FAIL, где уже найденная DLL не загружается или не инициализируется.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.