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

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

Ситуация типичная: подпись не создаётся, сайт говорит «ключ не найден», а в сертификате написано «Нет приватного ключа». Чаще всего это и есть 0x8009001D (NTE_NOT_FOUND). Ниже порядок действий для обычного пользователя: без лишней теории, но так, чтобы реально найти причину.

Коротко: что проверить сразу

  • Ключевой носитель (Рутокен/JaCarta/eToken) подключён напрямую к USB, без «подозрительных» хабов и удлинителей.
  • В Диспетчере устройств нет жёлтых значков у токена/смарт‑карты.
  • Вы вошли в Windows под тем же пользователем, под которым контейнер создавался/подпись работала раньше.
  • Сертификат действительно ваш: открывается и внизу есть строка про приватный ключ (или её нет).
Нужна помощь? Подключусь удалённо, проверю токен, контейнеры CryptoPro, привязку сертификата к ключу и восстановлю работу подписи без лишних рисков.

1) Что означает 0x8009001D простыми словами

CryptoPro пытается обратиться к приватному ключу в контейнере (это «папка»/«ячейка», где лежит ключ). Ошибка NTE_NOT_FOUND означает: нужный контейнер не найден или недоступен. Причины обычно такие:

  • носитель не виден (драйвер слетел, порт/кабель/хаб шалит, устройство отключено питанием);
  • контейнер есть, но вы в другом профиле Windows (часто после переустановки, создания нового пользователя, входа под «Администратором»);
  • сертификат импортировали «как файл», но не из контейнера, и привязки к приватному ключу нет;
  • конфликт драйверов (например, одновременно старый и новый драйвер носителя);
  • повреждены компоненты CryptoPro CSP после обновлений/неудачной установки.

2) Проверяем, видит ли Windows токен/смарт‑карту

Шаги через интерфейс:

  1. Нажмите Win+XДиспетчер устройств.
  2. Посмотрите разделы: Смарт‑карты, Устройства безопасности, USB‑контроллеры.
  3. Если видите жёлтый значок или «Неизвестное устройство», это почти наверняка и есть причина ошибки.

Совет: если токен то появляется, то пропадает, попробуйте другой USB‑порт (лучше на задней панели ПК), и временно отключите «выключение USB для экономии энергии».

Windows может отключать питание USB. Проверить быстро:

  • Диспетчер устройств → «Контроллеры USB» → USB Root Hub / Generic USB Hub → «Управление питанием» → уберите галочку «Разрешить отключение этого устройства для экономии энергии».

3) Проверяем контейнер в CryptoPro (главный шаг)

Теперь важно понять: контейнер реально отсутствует или просто «не видится».

  1. Откройте Панель управленияCryptoPro CSP.
  2. Перейдите во вкладку/раздел СервисПросмотр сертификатов в контейнере (названия могут слегка отличаться).
  3. Нажмите Обзор и посмотрите, есть ли контейнеры в списке.

Что считаем нормой:

  • Контейнеры видны, можно выбрать нужный, сертификат отображается.

Что плохо:

  • Список пустой, либо контейнеры есть, но при выборе ошибка, либо токен «не откликается».

Если список пустой, сначала возвращаем видимость устройства (драйвер/USB), и только потом думаем про переустановку CSP.

4) Сертификат есть, но «Нет приватного ключа»

Откройте сертификат так:

  • Win+Rcertmgr.msc → Enter.
  • «Личное» → «Сертификаты» → двойной клик по нужному.

Если всё в порядке, внизу обычно есть строка вроде «У вас есть приватный ключ, соответствующий этому сертификату». Если её нет, то Windows видит только «публичную часть».

Что делать, если приватного ключа нет:

  • Не пытайтесь «лечить» это импортом случайных файлов. Правильный путь: чтобы сертификат появился из контейнера или был выдан заново под существующий контейнер.
  • Если контейнер на токене виден в CryptoPro (шаг 3), можно заново установить сертификат из контейнера (в CryptoPro обычно есть пункт установки/просмотра сертификата в контейнере).
  • Если контейнер не виден, сначала чините видимость токена/драйвера.

5) Драйверы носителя: Рутокен/JaCarta/eToken

Ошибка 0x8009001D очень часто появляется после обновления Windows, когда драйвер токена стал «криво» или заменился на общий.

Правило простое: драйверы берём только с официальных сайтов производителей.

Если сомневаетесь, что стоит сейчас:

  • Отключите токен.
  • «Приложения и возможности» → удалите старые/дублирующиеся пакеты драйверов токена.
  • Перезагрузите ПК.
  • Поставьте актуальный драйвер с официального сайта.
  • Подключите токен обратно и проверьте шаг 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.

Контейнер на месте, но браузер/сайт всё равно пишет «ключ не найден».

Проверьте, что в браузере установлен и включён нужный компонент для подписи (плагин/расширение, если используется), и что вы выбираете правильный сертификат. Иногда в системе несколько одинаковых сертификатов, но рабочий только тот, что с приватным ключом.

Можно ли «восстановить контейнер», если он пропал?

Если контейнер был на токене, он обычно не «пропадает сам», чаще его просто не видно из-за драйвера. Если контейнер реально удалён и резервной копии нет, восстановить ключ нельзя, понадобится перевыпуск в удостоверяющем центре.

Читайте также: