CryptoPro CSP: ошибка 0x8009001D (NTE_NOT_FOUND) — «контейнер не найден» в Windows 10/11 (2026)

Ситуация типичная: подпись не создаётся, сайт говорит «ключ не найден», а в сертификате написано «Нет приватного ключа». Чаще всего это и есть 0x8009001D (NTE_NOT_FOUND). Ниже порядок действий для обычного пользователя: без лишней теории, но так, чтобы реально найти причину.
Коротко: что проверить сразу
- Ключевой носитель (Рутокен/JaCarta/eToken) подключён напрямую к USB, без «подозрительных» хабов и удлинителей.
- В Диспетчере устройств нет жёлтых значков у токена/смарт‑карты.
- Вы вошли в Windows под тем же пользователем, под которым контейнер создавался/подпись работала раньше.
- Сертификат действительно ваш: открывается и внизу есть строка про приватный ключ (или её нет).
1) Что означает 0x8009001D простыми словами
CryptoPro пытается обратиться к приватному ключу в контейнере (это «папка»/«ячейка», где лежит ключ). Ошибка NTE_NOT_FOUND означает: нужный контейнер не найден или недоступен. Причины обычно такие:
- носитель не виден (драйвер слетел, порт/кабель/хаб шалит, устройство отключено питанием);
- контейнер есть, но вы в другом профиле Windows (часто после переустановки, создания нового пользователя, входа под «Администратором»);
- сертификат импортировали «как файл», но не из контейнера, и привязки к приватному ключу нет;
- конфликт драйверов (например, одновременно старый и новый драйвер носителя);
- повреждены компоненты CryptoPro CSP после обновлений/неудачной установки.
2) Проверяем, видит ли Windows токен/смарт‑карту
Шаги через интерфейс:
- Нажмите Win+X → Диспетчер устройств.
- Посмотрите разделы: Смарт‑карты, Устройства безопасности, USB‑контроллеры.
- Если видите жёлтый значок или «Неизвестное устройство», это почти наверняка и есть причина ошибки.
Совет: если токен то появляется, то пропадает, попробуйте другой USB‑порт (лучше на задней панели ПК), и временно отключите «выключение USB для экономии энергии».
Windows может отключать питание USB. Проверить быстро:
- Диспетчер устройств → «Контроллеры USB» → USB Root Hub / Generic USB Hub → «Управление питанием» → уберите галочку «Разрешить отключение этого устройства для экономии энергии».
3) Проверяем контейнер в CryptoPro (главный шаг)
Теперь важно понять: контейнер реально отсутствует или просто «не видится».
- Откройте Панель управления → CryptoPro CSP.
- Перейдите во вкладку/раздел Сервис → Просмотр сертификатов в контейнере (названия могут слегка отличаться).
- Нажмите Обзор и посмотрите, есть ли контейнеры в списке.
Что считаем нормой:
- Контейнеры видны, можно выбрать нужный, сертификат отображается.
Что плохо:
- Список пустой, либо контейнеры есть, но при выборе ошибка, либо токен «не откликается».
Если список пустой, сначала возвращаем видимость устройства (драйвер/USB), и только потом думаем про переустановку CSP.
4) Сертификат есть, но «Нет приватного ключа»
Откройте сертификат так:
- Win+R →
certmgr.msc→ Enter. - «Личное» → «Сертификаты» → двойной клик по нужному.
Если всё в порядке, внизу обычно есть строка вроде «У вас есть приватный ключ, соответствующий этому сертификату». Если её нет, то Windows видит только «публичную часть».
Что делать, если приватного ключа нет:
- Не пытайтесь «лечить» это импортом случайных файлов. Правильный путь: чтобы сертификат появился из контейнера или был выдан заново под существующий контейнер.
- Если контейнер на токене виден в CryptoPro (шаг 3), можно заново установить сертификат из контейнера (в CryptoPro обычно есть пункт установки/просмотра сертификата в контейнере).
- Если контейнер не виден, сначала чините видимость токена/драйвера.
5) Драйверы носителя: Рутокен/JaCarta/eToken
Ошибка 0x8009001D очень часто появляется после обновления Windows, когда драйвер токена стал «криво» или заменился на общий.
Правило простое: драйверы берём только с официальных сайтов производителей.
- Рутокен: официальный сайт rutoken.ru
- JaCarta: официальный сайт aladdin-rd.ru
- SafeNet/Thales eToken: официальный сайт thalesgroup.com
Если сомневаетесь, что стоит сейчас:
- Отключите токен.
- «Приложения и возможности» → удалите старые/дублирующиеся пакеты драйверов токена.
- Перезагрузите ПК.
- Поставьте актуальный драйвер с официального сайта.
- Подключите токен обратно и проверьте шаг 3.
6) Частая ловушка: контейнер в другом профиле Windows
Если вы недавно:
- переустанавливали Windows,
- создавали нового пользователя,
- входили под «Администратором»,
- переносили профиль или меняли домен/рабочую группу,
то контейнер мог быть создан и сохранён в другом профиле (особенно если ключ не на токене, а «в реестре/на диске»). Тогда в текущем профиле CryptoPro честно пишет «не найден».
Что можно сделать безопасно:
- Попробовать войти в Windows под тем пользователем, где подпись работала, и повторить проверку контейнеров.
- Если ключ на токене, профиль обычно не важен, но иногда важны права и установленные компоненты.
7) Быстрый план восстановления (если нужен «железный» порядок)
Идём по пунктам сверху вниз, не прыгая:
- Сменить USB‑порт, исключить хаб, проверить, что токен стабильно определяется.
- Поставить/обновить драйвер носителя с официального сайта.
- Открыть CryptoPro → убедиться, что контейнер виден.
- Проверить сертификат в
certmgr.msc: есть ли приватный ключ. - Если контейнер виден, но сертификат без ключа, установить сертификат из контейнера (через CryptoPro).
- Если ничего не помогает, переустановить CryptoPro CSP (последним шагом).
Важно: переустановка CryptoPro не создаёт заново приватный ключ. Если контейнера реально нет (его удалили/сбросили), вернуть ключ без резервной копии невозможно. Тогда нужен перевыпуск подписи в УЦ.
8) Диагностика командами (если хотите проверить глубже)
Команд немного, но они помогают понять, «видит» ли система токен и какие провайдеры стоят.
Командная строка (Администратор) — выполнять по одной:
certutil -scinfo
certutil -store my
where certutil
Если certutil -scinfo ничего не находит, проблема обычно на уровне драйвера/смарт‑карты/службы.
PowerShell (Администратор) — выполнять по одной:
Get-PnpDevice -PresentOnly | Where-Object {$_.Class -match "SmartCard|SecurityDevices|USB"} | Select-Object Status, Class, FriendlyName
Get-Service SCardSvr | Select-Object Status, StartType, Name
Служба SCardSvr (Смарт‑карты) должна быть запущена или хотя бы не «Отключена».
FAQ
Подпись работала вчера, а сегодня вылез 0x8009001D. Что чаще всего виновато?
Самое частое: токен стал нестабильно определяться (порт/хаб), Windows обновила драйвер, или отключилось питание USB. Начните с шага 2 и шага 5.
Контейнер на месте, но браузер/сайт всё равно пишет «ключ не найден».
Проверьте, что в браузере установлен и включён нужный компонент для подписи (плагин/расширение, если используется), и что вы выбираете правильный сертификат. Иногда в системе несколько одинаковых сертификатов, но рабочий только тот, что с приватным ключом.
Можно ли «восстановить контейнер», если он пропал?
Если контейнер был на токене, он обычно не «пропадает сам», чаще его просто не видно из-за драйвера. Если контейнер реально удалён и резервной копии нет, восстановить ключ нельзя, понадобится перевыпуск в удостоверяющем центре.