Администрирование · 11 мин
Почему 1С не видит электронную подпись и как это исправить
Разбираем, почему 1С не видит электронную подпись: проверка сертификата, КриптоПро, драйверов токена и настроек программы. Пошаговая диагностика и решения.
Откройте 1С и посмотрите на список сертификатов: если он пуст, появляется ошибка «Сертификат не найден» или сообщение о недоступном средстве криптографической защиты информации (СКЗИ) — программа просто не видит электронную подпись. Такая проблема блокирует обмен электронными документами, сдачу отчетности и подписание файлов, поэтому важно быстро проверить, установлен ли криптопровайдер, не истек ли срок действия сертификата и корректно ли настроены пути его поиска в самой 1С.
Важно понимать: 1С сама по себе не работает с ключами напрямую. Она обращается к криптопровайдеру (КриптоПро CSP, ViPNet CSP или встроенной криптографии), а тот уже читает сертификат из реестра, токена или контейнера. Поэтому сбой может находиться на любом из звеньев этой цепочки: токен → драйвер → криптопровайдер → сертификат → настройки 1С.
Диагностику всегда стоит вести последовательно, от нижнего уровня к верхнему. Сначала проверяется, видит ли ключ сама операционная система, затем — криптопровайдер, и только потом — конфигурация 1С. Такой порядок позволяет не тратить время на переустановку программы, когда проблема, например, в отсутствующем драйвере Рутокена.
Как устроена цепочка работы подписи в 1С
Чтобы понимать, где искать сбой, полезно представить путь подписи. Физический носитель (Рутокен, eToken, JaCarta) или контейнер в реестре хранит закрытый ключ. Драйвер носителя обеспечивает его видимость в системе. Криптопровайдер (CSP) считывает ключ и предоставляет стандартный интерфейс для программ. 1С вызывает этот интерфейс и предлагает пользователю выбрать сертификат.
Если любое звено выпадает, в 1С список сертификатов окажется пустым или нужный сертификат не появится. Поэтому первый диагностический вопрос: виден ли сертификат вне 1С — в панели криптопровайдера или в хранилище сертификатов Windows (certmgr.msc). Если там его нет, настраивать 1С бессмысленно.
Проверка токена и драйверов носителя
Если ключ хранится на USB-токене, начните с физического уровня. Подключите токен напрямую в порт компьютера, минуя USB-хабы и удлинители — через них токен нередко не определяется или теряет питание. Проверьте, появился ли носитель в «Диспетчере устройств» Windows без восклицательных знаков.
Далее убедитесь, что установлены актуальные драйверы: для Рутокена — «Драйверы Рутокен», для eToken — SafeNet Authentication Client, для JaCarta — Единый клиент JaCarta. Без фирменного ПО криптопровайдер может не увидеть носитель, даже если Windows отображает его как устройство. После установки драйверов перезагрузите компьютер и заново откройте панель управления криптопровайдером.
Отдельный частый случай — истекший или заблокированный PIN-код токена. После нескольких неверных попыток ввода PIN носитель блокируется, и контейнер становится недоступен: внешне это выглядит как «1С не видит подпись». Разблокировка выполняется через ПО производителя токена, иногда — только с помощью административного PIN.
Проверка криптопровайдера и лицензии
Откройте панель управления криптопровайдером (например, КриптоПро CSP через «Панель управления» Windows) и проверьте три вещи: программа запускается без ошибок, лицензия действует, а на вкладке «Сервис» доступен просмотр сертификатов в контейнере. Истекшая демонстрационная лицензия — классическая причина, при которой подпись «пропадает» внезапно, хотя раньше все работало.
Через функцию «Просмотреть сертификаты в контейнере» убедитесь, что криптопровайдер видит закрытый ключ на носителе. Если контейнер читается, но сертификат не отображается в системном хранилище, установите его через кнопку «Установить личный сертификат» — это создаст связку между сертификатом и закрытым ключом, без которой 1С сертификат не покажет.
Обратите внимание на разрядность: если на компьютере установлены два криптопровайдера (например, КриптоПро и ViPNet одновременно), возможны конфликты. Совместная работа двух СКЗИ на одной машине официально не гарантируется и часто приводит к тому, что программы перестают видеть ключи. Рекомендуется оставить один криптопровайдер, соответствующий типу выданной подписи.
- 1Проверьте, что токен определяется в «Диспетчере устройств» и установлены драйверы носителя
- 2Откройте панель криптопровайдера и убедитесь, что лицензия активна
- 3Через «Сервис → Просмотреть сертификаты в контейнере» проверьте, что закрытый ключ читается
- 4Установите личный сертификат из контейнера в хранилище
- 5Откройте сертификат в certmgr.msc и убедитесь, что есть строка «Есть закрытый ключ для этого сертификата»
- 6Проверьте наличие сертификата в списке внутри 1С
Сертификат без закрытого ключа и другие проблемы сертификата
Самый коварный случай — сертификат установлен, но без привязки к закрытому ключу. Такое происходит, когда сертификат установили из файла .cer вручную, а контейнер с ключом находится на другом компьютере или токене, который в момент установки не был подключен. В списке сертификатов он отображается, но подписывать им нельзя, и 1С его либо не показывает, либо выдает ошибку при подписании.
Проверка простая: откройте сертификат двойным щелчком в хранилище Windows. На вкладке «Общие» внизу должна быть строка «Есть закрытый ключ для этого сертификата». Если строки нет — выполните установку сертификата заново через криптопровайдер при подключенном носителе, чтобы связка сформировалась корректно.
Также проверьте срок действия сертификата и цепочку доверия. Просроченный сертификат и сертификат с неустановленным корневым сертификатом удостоверяющего центра могут отфильтровываться программой. Корневой сертификат УЦ устанавливается в хранилище «Доверенные корневые центры сертификации», промежуточный — в «Промежуточные центры сертификации».
Как проверить сертификат
Текущая дата внутри периода действия
Сертификат просрочен или еще не начал действовать
В свойствах есть строка «Есть закрытый ключ для этого сертификата»
Строки нет — сертификат установлен без контейнера
Путь сертификации строится до доверенного корня без ошибок
Ошибка «не удается построить цепочку» или предупреждение о доверии
Настройки криптографии внутри 1С
Когда внешняя цепочка исправна, переходите к настройкам самой программы. В типовых конфигурациях параметры электронной подписи находятся в разделе администрирования: «Администрирование → Обмен электронными документами → Обмен по электронной почте / Электронные подписи» или «Настройки электронной подписи и шифрования» (точный путь зависит от конфигурации и версии).
В настройках программы криптографии должен быть указан именно тот провайдер, который установлен на компьютере: тип (например, Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider), правильный тип провайдера (обычно 80 для ГОСТ Р 34.10-2012) и корректный путь к модулям. Если в списке программ криптографии пусто, добавьте запись вручную или нажмите автоматическое заполнение — 1С попытается обнаружить установленные СКЗИ сама.
Для клиент-серверных вариантов работы есть важный нюанс: подписание может выполняться на сервере 1С, а не на компьютере пользователя. Тогда криптопровайдер, лицензия и доступ к ключам должны быть настроены на сервере, а токен должен быть физически подключен к серверу или проброшен. Если ключ локальный, в настройках подписи следует указать выполнение криптоопераций на клиенте.
Отдельные сценарии: веб-клиент, Linux и встроенная криптография
Подпись в веб-клиенте
При работе через браузер 1С не имеет прямого доступа к локальным ключам. Требуется установка расширения для работы с криптографией и компоненты криптографии на компьютере пользователя, а также разрешение браузеру доступа к локальным ресурсам. Если кнопка «Установить расширение» появляется при каждом входе, проверьте, не блокирует ли браузер установку компоненты и не очищается ли кэш.
Встроенная криптография платформы
В свежих версиях платформы доступна встроенная криптография, которая частично снимает зависимость от внешних СКЗИ для ряда сценариев. Однако не все типы носителей и не все конфигурации поддерживают этот режим одинаково. Перед переходом проверьте в документации к вашей конфигурации, поддерживается ли работа с вашим типом подписи и носителем.
Работа под Linux
На Linux-сервере или клиенте требуется соответствующая версия КриптоПро CSP, корректно настроенные пути к библиотекам и права пользователя, под которым работает служба сервера 1С, на чтение ключей. Типичная ошибка — ключи установлены под root, а сервер 1С работает под отдельной учетной записью и физически не имеет к ним доступа.
Когда обращаться к специалисту и как зафиксировать результат
Самостоятельно безопасно проверять драйверы, лицензии, привязку сертификата и настройки программы криптографии. К специалисту стоит обращаться, если требуется перенос контейнера закрытого ключа, разблокировка токена, настройка криптографии на сервере 1С или разбор конфликта двух СКЗИ — ошибки на этом уровне могут привести к потере ключевого контейнера, а с ним и возможности подписывать документы до перевыпуска ключа.
После устранения причины зафиксируйте результат: откройте в 1С список сертификатов, выберите нужный и выполните тестовое подписание произвольного файла или тестовый обмен. Успешное подписание без предупреждений — признак того, что вся цепочка от носителя до конфигурации работает. Сохраните скриншоты рабочих настроек криптопровайдера: при следующем сбое это заметно ускорит диагностику.
Что важно запомнить
1С не работает с ключами напрямую — сбой ищите по цепочке: токен и драйверы → криптопровайдер и лицензия → сертификат с привязкой к закрытому ключу → настройки криптографии в 1С. Чаще всего виноваты истекшая лицензия СКЗИ, сертификат без закрытого ключа или серверные настройки в клиент-серверной базе.
Частые вопросы
Почему сертификат виден в КриптоПро, но не виден в 1С?
Обычно причина в настройках программы криптографии внутри 1С: не создана запись о криптопровайдере, указан неверный тип провайдера или подписание настроено на сервере, где ключей нет. Проверьте раздел настроек электронной подписи и место выполнения криптоопераций.
Можно ли использовать один токен на нескольких компьютерах?
Да, физически переносить токен между компьютерами можно, но на каждом должны быть установлены драйверы носителя, криптопровайдер с действующей лицензией и настроена связка сертификата с контейнером. Одновременно один токен работает только на одном компьютере.
Подпись работала, а после обновления платформы перестала. Что делать?
После обновления платформы или конфигурации проверьте, не сбросились ли настройки программы криптографии и не изменился ли механизм подписания (например, появилась встроенная криптография). Сравните текущие настройки с сохраненными ранее и повторите тестовое подписание.
Что делать, если токен заблокировался после неверного PIN?
Разблокировка выполняется через фирменное ПО производителя носителя с использованием административного PIN (PUK), если он известен. Если административный PIN утерян или попытки исчерпаны, ключ придется перевыпускать в удостоверяющем центре — самостоятельно контейнер восстановить нельзя.
Нужно ли заново выпускать подпись при смене компьютера?
Нет, если ключ на токене — достаточно настроить новый компьютер: драйверы, криптопровайдер, установка сертификата из контейнера. Перевыпуск потребуется только при утере носителя, его блокировке без возможности восстановления или при смене реквизитов владельца.