CryptoPro CSP: ошибка 0x8009001B (NTE_BAD_KEY) — ключ не подходит или повреждён (2026)

CryptoPro CSP: ошибка 0x8009001B (NTE_BAD_KEY) — ключ не подходит или повреждён (2026)

Если при подписи или входе на сайт выскакивает 0x8009001B (NTE_BAD_KEY), это почти всегда история про ключевой контейнер: токен виден, но ключ «не подходит», «повреждён» или не может быть использован этим приложением. Ниже план, который обычно возвращает подпись за 15–40 минут, без плясок и без потери сертификата.

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

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

0) Как проявляется ошибка 0x8009001B

  • «Не удаётся создать подпись», «Ключ недействителен», «Неверный ключ» или просто код 0x8009001B.
  • На одном ПК подпись работает, на другом нет.
  • Токен определяется, но сайт не видит сертификат или видит, но подпись падает.

Важно: 0x8009001B не всегда означает, что ключ «умер». Чаще виноваты драйвер носителя, кеши сертификатов, неверный выбор контейнера, старый плагин или отсутствие цепочки доверия.

1) Проверяем, что токен и контейнер реально читаются

Сначала убедимся, что Windows видит носитель и CryptoPro может открыть контейнер.

  1. Откройте Панель управленияКриптоПро CSP.
  2. Перейдите в раздел СервисПросмотреть сертификаты в контейнере.
  3. Нажмите Обзор и выберите контейнер с токена (обычно в названии есть «Rutoken», «JaCarta», «HDIMAGE», «AKS», «eToken» и т.п.).
  4. Нажмите ОК и проверьте: сертификат показывается, статус нормальный, есть кнопка «Свойства».

Если контейнер не открывается или не появляется в списке, почти всегда помогает порядок: драйвер токена → перезагрузка → CryptoPro CSP → плагин CAdES.

2) Проверяем сертификат: есть ли приватный ключ и всё ли с цепочкой

Сертификат может быть установлен, но без привязки к ключу или без доверенной цепочки. Тогда приложение «видит» его, но подписать не может.

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

Если цепочка ругается на доверие, обычно достаточно установить корневые/промежуточные сертификаты вашего УЦ (скачивайте только с официального сайта УЦ) и обновить корневые Windows через стандартные обновления.

3) Чистим типовые «залипания»: кеши, старые сертификаты, конфликтующие записи

У неопытных пользователей часто стоит несколько одинаковых сертификатов: один из контейнера, другой импортирован «куда попало». Из-за этого сайт выбирает не тот и падает.

  1. Откройте certmgr.msc (Win+R → вставить certmgr.msc → Enter).
  2. Зайдите в ЛичноеСертификаты и удалите явные дубликаты старых/просроченных (аккуратно: если не уверены, лучше не удалять).
  3. Закройте браузер полностью и запустите заново.

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

taskkill /im chrome.exe /f
taskkill /im msedge.exe /f
taskkill /im iexplore.exe /f
taskkill /im javaw.exe /f

Команды выше просто закрывают процессы браузеров, чтобы они не держали старые модули. Если пользуетесь только одним браузером, лишнее можно не трогать.

4) Обновляем CryptoPro CSP и плагин CAdES без сюрпризов

Старый CSP или плагин часто даёт странные ошибки именно на этапе подписи. Правильная безопасная последовательность такая:

  • Скачайте установщики с официальных сайтов: CryptoPro CSP и CryptoPro CAdES Browser Plug-in.
  • Переустановку делайте с перезагрузкой после каждого ключевого шага.
  • Если есть токен-драйвер (Рутокен/JaCarta), обновите и его, тоже с перезагрузкой.

Подсказка: сертификат на токене при переустановке CSP не пропадёт. Опасно только удалять контейнер или выполнять «инициализацию» токена в утилитах. Это здесь не нужно.

5) Проверяем время, лицензии и права

Мелочь, но она стреляет: если время уехало даже на несколько минут, часть операций подписи и проверки цепочки может ломаться.

  • Откройте ПараметрыВремя и язык → включите «Устанавливать время автоматически».
  • Нажмите «Синхронизировать сейчас».
  • В CryptoPro CSP откройте раздел про лицензию и убедитесь, что CSP активирован (или стоит действующая лицензия/триал, если это допустимо в вашей ситуации).

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

6) Быстрый тест подписи вне сайта

Чтобы понять, где проблема, разделяем «токен/ключ» и «сайт/браузер».

  • Если в CryptoPro CSP контейнер открывается и сертификат виден, ключ жив.
  • Если ошибка появляется только на сайте, виноваты плагин, браузер, выбор сертификата или политика безопасности.

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

where csptest
where cryptcp
certutil -store -user my

Команда certutil -store -user my покажет список сертификатов в профиле. Если нужного нет или он без ключа, возвращаемся к шагам про контейнер и установку.

7) Частые причины и быстрые решения

  • Токен подключён через «плохой» хаб — переподключите напрямую в USB на системном блоке/ноутбуке.
  • Установлены два разных CSP/плагина — удалите лишнее (часто мешают старые версии), поставьте актуальное.
  • Выбран не тот сертификат — удалите просроченные/дубликаты, оставьте один актуальный.
  • Нет доверенной цепочки — поставьте корневые/промежуточные УЦ с официального сайта.
  • Слетело время — включите авто-синхронизацию и повторите подпись.

FAQ

Я боюсь «сломать» токен. Что точно нельзя делать?

Не делайте «инициализацию», «форматирование», «сброс PIN» без понимания последствий. Для ошибки 0x8009001B это почти никогда не нужно. Мы работаем с драйверами, CSP, плагином и сертификатами в Windows.

Сайт просит выбрать сертификат, но мой не появляется.

Сначала проверьте, что сертификат виден через «Просмотреть сертификаты в контейнере» в CryptoPro CSP. Если там он есть, но в браузере нет, переустановите CAdES-плагин, перезапустите браузер и убедитесь, что сертификат установлен в «Личное» текущего пользователя.

После обновления всё равно ошибка. Что дальше?

Проверьте на другом USB-порту, затем на другом ПК. Если ошибка повторяется на всех устройствах и контейнер не читается, возможна проблема с самим носителем или контейнером. Тогда лучше обращаться в УЦ или к специалисту, чтобы не потерять ключ.

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