CryptoPro CSP: ошибка 0x8009000D (NTE_BAD_DATA) — подпись не работает, контейнер/сертификат «битый» (2026)

При подписи документов или входе на госуслуги/ЭДО выскакивает 0x8009000D (NTE_BAD_DATA)? Это одна из самых неприятных ошибок CryptoPro: вроде бы всё установлено, но ключ «не читается». Ниже простой план: от быстрых проверок для новичка до аккуратной «чистки» компонентов. Старался писать без лишней магии.
Коротко: что проверить сразу
- Ошибка появляется везде (и в браузере, и в программах) или только в одном месте.
- Токен/носитель (Рутокен, JaCarta и т.п.) виден в системе и без жёлтых значков в «Диспетчере устройств».
- Подпись делаете именно тем сертификатом, где есть приватный ключ (в CryptoPro он должен отображаться как доступный).
- Если носитель подключён через хаб или монитор, временно подключите его напрямую в USB ПК.
1) Сначала выясняем: где именно ломается подпись
От этого зависит решение. Самые частые сценарии:
- Только в браузере (на сайте ЭДО/банка/кабинета), а в CryptoPro или CryptoPro Tools всё открывается.
- В программе (КриптоАРМ, 1С, Word/Excel с подписью), а браузер вообще не при чём.
- При установке/импорте сертификата или при просмотре контейнера.
Если ошибка только в браузере, чаще виноват плагин/расширение. Если везде, начинайте с носителя и контейнера.
2) Носитель и драйвер: самое простое, но часто решает
0x8009000D нередко появляется из-за нестабильного чтения ключа. Сделайте по порядку:
- Отключите токен, подождите 5 секунд, подключите снова.
- Подключите в другой USB-порт. Лучше в задние порты системника. На ноутбуке попробуйте порт с другой стороны.
- Если стоит USB-хаб, док-станция или монитор с USB, временно подключите токен без них.
- Откройте «Диспетчер устройств» → разделы «Смарт-карты» и «USB-контроллеры». Если видите ошибку устройства, сначала лечим драйвер.
Подсказка: если токен иногда «отваливается», а потом снова появляется, это почти всегда кабель/порт/питание USB или конфликт драйвера. Тогда переустановка плагина в браузере не поможет.
3) Проверяем контейнер и сертификат в CryptoPro
Дальше нужно убедиться, что ключ и сертификат действительно в порядке.
- Откройте: Пуск → найдите CryptoPro CSP → «Сервис» / «Просмотр сертификатов в контейнере» (названия могут отличаться).
- Выберите контейнер на носителе и проверьте, открывается ли он без ошибок.
- В хранилище сертификатов Windows убедитесь, что ваш сертификат отмечен как имеющий приватный ключ (обычно в описании есть «Есть приватный ключ»).
Командная строка (Администратор) — выполнять по одной:
certutil -scinfo
certutil -user -store my
Первая команда покажет, видит ли система смарт-карту/токен и что с ним происходит. Вторая выведет список личных сертификатов текущего пользователя.
4) Если ошибка только в браузере: приводим в порядок плагин и расширение
Сейчас подпись в браузере обычно делает связка: CAdES Browser Plug-in + расширение/надстройка (зависит от браузера и сайта). Из-за обновлений браузера старое расширение может начать чудить.
- Удалите старые расширения подписи, если их несколько (часто остаются «дубликаты»).
- Переустановите CAdES-плагин с официального сайта CryptoPro.
- Перезапустите браузер полностью (закройте все окна) и попробуйте снова.
Официальные страницы (скачивайте только оттуда): CryptoPro CAdES и CryptoPro CSP.
5) «Смешались версии» и хвосты после обновлений: безопасная переустановка
Если раньше подпись работала, а потом после обновления Windows/браузера/КриптоПро появилась 0x8009000D, часто виноваты остатки старых компонентов.
- Удалите только программные компоненты: CryptoPro CSP, CAdES Browser Plug-in, дополнительные надстройки.
- Перезагрузите ПК.
- Установите заново: сначала CryptoPro CSP, потом CAdES.
- Ещё раз перезагрузите.
Важно: удаление CryptoPro CSP не стирает ключи на токене. Но если контейнер лежит на диске (редко, но бывает), заранее сделайте резервную копию или попросите специалиста.
PowerShell (Администратор) — вставить целиком:
# Быстрая проверка: что установлено из CryptoPro
Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* |
Where-Object { $_.DisplayName -match "CryptoPro|КриптоПро|CAdES" } |
Select-Object DisplayName, DisplayVersion, Publisher |
Sort-Object DisplayName
Если видите несколько строк про один и тот же компонент с разными версиями, это кандидат на «конфликт».
6) Диагностика: что говорит Windows и куда смотреть
Если после базовых шагов ошибка остаётся, полезно собрать минимальную картину:
PowerShell (Администратор) — выполнять по одной:
Get-PnpDevice -PresentOnly | Where-Object {$_.FriendlyName -match "Rutoken|JaCarta|Smart|Card|Смарт"} | Select-Object Status, Class, FriendlyName
Get-WinEvent -LogName Application -Max 200 | Where-Object {$_.Message -match "CryptoPro|CSP|CAdES|0x8009000D|NTE_BAD_DATA"} | Select TimeCreated, Id, ProviderName, Message
Первая команда покажет, как Windows видит носитель. Вторая поможет найти сообщения об ошибке от компонентов подписи.
7) Типичные причины 0x8009000D и что с ними делать
- Контейнер ключа повреждён или частично не читается: обычно помогает только выпуск нового ключа/сертификата.
- Драйвер токена устарел: ставьте драйвер с официального сайта производителя носителя.
- Конфликт версий CSP и CAdES: переустановка в правильном порядке (CSP → CAdES) часто лечит.
- Сертификат без приватного ключа: импортирован только публичный сертификат, а ключ в контейнере другой.
- USB-питание/хабы: токен «прыгает» и чтение ключа срывается, особенно на фронтальных портах.
FAQ
Я боюсь «сломать подпись». Что самое безопасное начать делать?
Начните с простого: другой USB-порт, отключить хаб, проверить в «Диспетчере устройств». Дальше проверьте контейнер в CryptoPro. Переустановка CSP и CAdES тоже обычно безопасна для токена: ключи на носителе не стираются.
Ошибка появилась после обновления браузера. Это нормально?
Да, такое бывает. Браузеры часто меняют правила для расширений. Обычно помогает обновить CAdES-плагин и расширение, убрать дубликаты и перезапустить браузер.
Если контейнер повреждён, можно ли восстановить старый ключ?
Иногда помогает резервная копия контейнера, если она была сделана заранее. Если копии нет и носитель не читается стабильно, правильный путь обычно один: выпуск нового ключа и перевыпуск сертификата через ваш УЦ или администратора.