CryptoPro CSP: ошибка 0x80090010 (NTE_PERM) — отказано в доступе к ключевому контейнеру в Windows 10/11 (2026)

CryptoPro CSP: ошибка 0x80090010 (NTE_PERM) — отказано в доступе к ключевому контейнеру в Windows 10/11 (2026)

Если при подписи или входе на сайт с ЭЦП вы видите 0x80090010 (NTE_PERM), это почти всегда не «сломанная подпись», а нет доступа к ключевому контейнеру. Ниже разберёмся, где лежит контейнер (профиль, реестр или токен), как быстро проверить его из интерфейса CryptoPro и что поправить, чтобы подпись снова работала.

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

  • Вы вошли в Windows под тем же пользователем, под которым контейнер создавали или импортировали.
  • Если ключ на токене (Рутокен/JaCarta/eToken), токен вставлен напрямую в USB, PIN вводится, утилита производителя видит устройство.
  • CryptoPro CSP открывается без ошибок (Пуск → КриптоПро CSP).
  • Ошибка появляется везде или только в браузере. Это поможет понять, где копать дальше.
Нужна помощь? Подключусь удалённо, проверю контейнер и права, драйверы токена, плагин браузера и восстановлю работу подписи без лишних переустановок.

1) Понимаем, где лежит ключевой контейнер

Одна и та же ЭЦП может быть привязана к ключу в разных местах. Для NTE_PERM это критично, потому что права выдаются по-разному.

  • Контейнер на токене (Рутокен/JaCarta/eToken): ключ в устройстве. Проблемы чаще всего в драйверах, PIN, питании USB или правах.
  • Контейнер в профиле/реестре: ключ в системе и часто «завязан» на конкретного пользователя Windows. На другом пользователе будет отказ.

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

2) Проверяем контейнер через интерфейс CryptoPro

Нам нужно выяснить: контейнер вообще открывается или CryptoPro сразу ругается правами.

  1. Пуск → откройте КриптоПро CSP.
  2. Вкладка Сервис.
  3. Нажмите Просмотреть сертификаты в контейнере.
  4. Выберите контейнер из списка → ОК.

Если ошибка 0x80090010 появляется прямо здесь, значит проблема точно в доступе к контейнеру, а не в конкретном сайте.

Если список контейнеров пустой: для токена это обычно означает, что драйвер не встал или устройство не распознано. Для локального контейнера это может быть другой профиль пользователя.

3) Выдаём права на контейнер

NTE_PERM переводится как «нет разрешения». И да, даже если вы администратор, это не гарантирует доступ: у контейнера может быть свой список прав.

Что делаем без терминала:

  • Откройте КриптоПро CSP → вкладка Сервис.
  • Найдите пункт управления контейнерами или доступом (названия зависят от версии, но смысл один: «контейнеры/права»).
  • Выберите нужный контейнер и добавьте текущего пользователя в доступ.

Если сомневаетесь, что именно ваш контейнер: ориентируйтесь по имени, которое видите в «Просмотреть сертификаты в контейнере». Обычно там один-два варианта.

4) Если ключ на Рутокене, JaCarta или eToken

Здесь два шага: (1) токен видит Windows, (2) токен видит CryptoPro.

  • Сначала откройте официальную утилиту токена и убедитесь, что устройство распознано.
  • Проверьте, что PIN вводится и токен не заблокирован.
  • Поставьте свежий драйвер токена с официального сайта производителя, потом перезагрузите ПК.

Официальные страницы загрузок:

Практика: если используете ПК, вставляйте токен в задний USB-порт, без удлинителей и хабов. На ноутбуках часто помогает другой порт, особенно если рядом стоят энергоёмкие устройства.

5) Точная проверка через csptest

Если хочется «железобетонно» подтвердить причину, csptest показывает контейнеры и ошибку открытия.

CMD (Администратор) — выполнять команды по одной:

where csptest
csptest -keyset -enum_cont -fqcn

Вы увидите список контейнеров. Дальше попробуем открыть нужный контейнер.

CMD (Администратор) — выполнить одну команду (вместо CONTAINER_NAME подставьте имя из списка):

csptest -keyset -verifycontext -cont "CONTAINER_NAME"

Если тут снова 0x80090010, то это права/доступ. Если csptest проходит, а проблема только в одной программе, значит виновата именно эта программа или браузерный компонент.

6) Типовые причины, которые чаще всего дают NTE_PERM

  • Контейнер создан в другом профиле. Решение: войти под правильным пользователем или перенести контейнер и сертификат корректно.
  • CryptoPro ставили «под админом», а работать пытаются обычным пользователем. Решение: выдать права на контейнер текущему пользователю.
  • Слетели/устарели драйверы токена. Решение: обновить драйверы производителя, затем перезагрузка.
  • Сертификат установлен, но приватного ключа нет. Решение: установить сертификат из контейнера или заново импортировать связку правильно.
  • Экономия энергии USB отключает токен. Решение: в диспетчере устройств убрать галочку отключения питания у USB-концентраторов.
  • Повреждён профиль пользователя. Решение: проверить в новом профиле Windows и затем переносить ключи аккуратно.

7) Если ошибка только в браузере

Бывает так: в CryptoPro контейнер открывается, а на сайте подпись не работает и вылетает 0x80090010. Тогда проблема обычно в плагине/расширении или в профиле браузера.

  • Обновите CryptoPro CSP и компоненты подписи для браузера (CAdES/плагин), перезапустите браузер.
  • Проверьте, что расширение подписи включено в браузере.
  • Для теста попробуйте другой браузер (Edge ↔ Chrome). Если в другом заработало, значит контейнер в порядке.

FAQ

Я администратор, почему всё равно «нет доступа»?

Потому что доступ к контейнеру выдаётся конкретному пользователю, а не «всем админам». Добавьте ваш профиль в права контейнера или используйте профиль, где контейнер создавался.

Можно ли просто переустановить CryptoPro и забыть?

Иногда помогает, но не всегда. Если причина в правах на контейнер или в драйвере токена, одна переустановка CSP без исправления первопричины даст тот же результат.

После обновления Windows подпись сломалась. Это из-за обновления?

Часто да: обновления меняют драйверы и компоненты браузера. Обычно лечится обновлением драйвера токена и проверкой прав на контейнер.

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