CryptoPro CSP: ошибка 0x800B0109 — «цепочка сертификатов не обработана» и подпись не проверяется (2026)

Если при подписи или проверке ЭЦП появляется 0x800B0109, чаще всего проблема не в самом документе, а в том, что Windows не доверяет сертификату. Обычно не хватает корневого или промежуточного сертификата УЦ, сбилось время, или не проходит проверка отзыва (CRL/OCSP). Ниже понятный план, который можно пройти самому.
Коротко: что проверить сразу
- Проверьте дату и время на ПК (и часовой пояс). Неверное время ломает доверие сертификатов.
- Ошибка появляется на любом документе или только на одном.
- Есть ли интернет на ПК (для проверки отзыва по CRL/OCSP это важно).
- Подпись проверяете в браузере или в программе (CryptoPro, КриптоАРМ, 1С). Логика одна, но место поиска разное.
1) Дата, время и часовой пояс: проверьте до всего остального
Это банально, но 0x800B0109 очень любит неправильное время. Сделайте так:
- Откройте Параметры → Время и язык → Дата и время.
- Включите «Устанавливать время автоматически» и нажмите «Синхронизировать».
- Проверьте часовой пояс. Если он неправильный, сертификаты могут считаться «ещё не действительными» или «уже просроченными».
2) Понимаем, чего именно не хватает: корневой или промежуточный
0x800B0109 обычно означает: цепочка не дошла до доверенного корня. Проще говоря, Windows не нашла нужный «верхний» сертификат УЦ, которому доверяет.
Что делаем без сложных терминов:
- Откройте сертификат подписи (в программе проверки подписи обычно есть кнопка «Сведения»/«Сертификат»).
- Найдите вкладку/раздел Путь сертификации.
- Если где-то в пути есть красный крестик или сообщение, что «не удаётся проверить», значит отсутствует часть цепочки или не проходит проверка отзыва.
Важно: корневой и промежуточные сертификаты почти всегда выдаёт ваш УЦ. Обычно они лежат на сайте УЦ в разделе «Сертификаты/корневые сертификаты».
3) Обновляем корневые сертификаты Windows
Если Windows давно не обновлялась или обновления отключены, набор корневых сертификатов может быть устаревшим. Для подписи это критично.
- Откройте Параметры → Центр обновления Windows и установите доступные обновления.
- Перезагрузите ПК, даже если «кажется, что не надо».
Командная строка (Администратор) — выполнять по одной:
certutil -generateSSTFromWU roots.sst
certutil -addstore -f root roots.sst
Эти команды берут актуальный набор корневых сертификатов из Windows Update и добавляют в хранилище «Доверенные корневые центры сертификации».
4) Импортируем промежуточные сертификаты УЦ правильно
Частая история: корень есть, а промежуточного сертификата нет. Тогда цепочка не собирается, и вы видите 0x800B0109.
Как сделать аккуратно:
- Скачайте с сайта вашего УЦ промежуточные сертификаты (обычно это файлы .cer/.crt).
- Откройте файл сертификата двойным кликом.
- Нажмите «Установить сертификат».
- Выберите «Локальный компьютер» (если есть права администратора).
- Место хранения: Промежуточные центры сертификации.
Подсказка: если ставите в «Текущий пользователь», а подпись проверяется в другой программе/службе, она может не увидеть цепочку. Поэтому чаще надёжнее «Локальный компьютер».
5) CRL/OCSP: когда цепочка есть, но проверка всё равно падает
Даже если корни и промежуточные сертификаты установлены, проверка подписи может требовать проверки отзыва: CRL (списки отозванных) или OCSP (онлайн-проверка).
Типичные признаки:
- Интернет есть, но в корпоративной сети доступ к адресам УЦ может быть ограничен.
- В журналах или окне проверки видно, что не удалось скачать CRL/не удалось выполнить OCSP.
Командная строка (Администратор) — выполнять по одной:
certutil -urlcache * delete
certutil -verify -urlfetch "C:\Path\to\your.cer"
Первая команда чистит кэш проверок. Вторая пробует «дотянуться» до URL из сертификата (CRL/OCSP). Во второй команде замените путь на ваш сертификат (можно временно сохранить его на диск).
6) Проверяем в CryptoPro: что именно не нравится системе
Если у вас установлен CryptoPro CSP, удобно посмотреть, что именно ломается: доверие, срок, отзыв, цепочка. В разных версиях пункты могут называться немного по-разному, но логика такая:
- Откройте CryptoPro CSP → «Сервис» → «Просмотр сертификатов».
- Найдите нужный сертификат и откройте «Состав/Путь сертификации».
- Если написано, что не найден доверенный корень, возвращаемся к шагам 3-4.
- Если проблема в отзыве, смотрим шаг 5.
Официальные страницы CryptoPro (скачивайте компоненты только оттуда): CryptoPro CSP и CryptoPro CAdES.
7) Типичные причины 0x800B0109 и быстрые решения
- Сбилось время: включите авто-синхронизацию и проверьте часовой пояс.
- Устарели корневые сертификаты: обновите Windows Update и добавьте корни командой из шага 3.
- Не установлен промежуточный сертификат УЦ: импортируйте в «Промежуточные центры сертификации».
- Не проходит CRL/OCSP: очистите кэш, проверьте доступ к адресам УЦ.
- Сертификат не из того хранилища: ставьте цепочку на «Локальный компьютер», если подпись проверяется системными службами.
FAQ
Я установил сертификат подписи, но ошибка 0x800B0109 осталась. Почему?
Потому что сертификат подписи это только «одна ступень». Для доверия нужны ещё корневой и промежуточные сертификаты УЦ, а также успешная проверка отзыва (CRL/OCSP). Проверьте «Путь сертификации» и пройдите шаги 3-5.
Ошибка появляется только на одном ПК, а на другом всё проверяется.
Значит, на «плохом» ПК отличается хранилище корней/цепочка, отключены обновления, неправильное время или блокируется CRL/OCSP. Это почти всегда лечится шагами из статьи.
Это проблема CryptoPro или Windows?
Чаще это проблема доверия в Windows (сертификаты и проверка отзыва). CryptoPro просто показывает ошибку, потому что он использует системные хранилища и механизмы проверки.