Почему в обработке СБИС для 1С не виден сертификат ЭЦП и возникает ошибка «Массив объектов "Сертификат" пуст»?

Системный администратор 1С v8.3 (Управляемые формы) 1С:Управление торговлей Торговля и дистрибуция
← На главную

При запуске внешней обработки «Обмен электронными документами СБИС» в среде тонкого клиента 1С:Управление торговлей 11.5 пользователи нередко сталкиваются с ситуацией, когда физический токен подключен к рабочему месту и отображается в криптопровайдере, но сама обработка прерывает работу с диагностическим сообщением: «Массив объектов "Сертификат" пуст».

Проанализируем архитектуру взаимодействия и выясним причину такого поведения. В отличие от типового модуля 1С-ЭДО, внешняя обработка СБИС для взаимодействия с криптографией обращается не к списку сертификатов, зарегистрированных в информационной базе 1С, а напрямую взаимодействует со службами операционной системы и локальным модулем Saby Plugin (или компонентами СБИС). Если закрытый ключ доступен на токене, но не привязан к персональному хранилищу Windows или плагин не может корректно опросить криптопровайдер, обработка не получает перечень доступных сертификатов.

Разберем по шагам диагностику и последовательное решение возникшей неполадки.

Шаг 1. Установка сертификата из контейнера в хранилище операционной системы

Самая распространенная причина ошибки заключается в том, что сертификат физически записан на защищенном носителе (Рутокен, JaCarta), но публичная его часть не установлена в личное хранилище сертификатов текущего пользователя Windows. Для плагина СБИС присутствия ключевого контейнера в считывателе недостаточно — сертификат должен быть явно зарегистрирован в системе со связкой с закрытым ключом.

Выполним процедуру привязки через СКЗИ «КриптоПро CSP»:

  1. Откроем панель управления КриптоПро CSP.
  2. Перейдем на вкладку «Сервис» и нажмем кнопку «Просмотреть сертификаты в контейнере...».
  3. Нажмем «Обзор», выберем ключевой контейнер на подключенном токене и нажмем «ОК», затем «Далее».
  4. В открывшемся окне просмотра свойств сертификата нажмем кнопку «Установить».
  5. Подтвердим размещение сертификата в хранилище «Личное» текущего пользователя.

После этого операционная система свяжет открытый ключ с закрытым контейнером на токене, и внешние приложения смогут обнаружить сертификат в реестре.

Шаг 2. Проверка состояния лицензии криптопровайдера

Если срок действия лицензии на СКЗИ истек, криптопровайдер блокирует вызовы криптографических функций со стороны сторонних приложений, даже если сам контейнер отображается в оснастке. Рассмотрим проверку лицензии:

  1. В окне КриптоПро CSP перейдем на вкладку «Общие».
  2. Проверим статус в поле «Срок действия». Если указано, что лицензия истекла, функции подписи и экспорта открытых ключей работать не будут.
  3. При наличии встроенной лицензии в самом сертификате убедимся, что установлена актуальная версия КриптоПро CSP (версии 5.0 R2 и выше), поддерживающая автоматическое чтение лицензии из расширений сертификата.

Шаг 3. Обновление и перезапуск Saby Plugin

Обработка обмена СБИС обращается к локальной службе интеграции. Устаревшая версия Saby Plugin может содержать ошибки распознавания современных носителей либо некорректно передавать структуры данных в 1С. Разберем действия по обновлению компонента:

  1. Завершим работу сеанса 1С:Предприятие.
  2. Выгрузим текущий процесс плагина из системного трея (области уведомлений).
  3. Загрузим и установим актуальную версию дистрибутива плагина с официального ресурса разработчика.
  4. Убедимся, что служба плагина успешно запустилась и находится в активном состоянии.

Шаг 4. Проверка цепочки доверия корневых сертификатов

Плагин интеграции при формировании списка сертификатов выполняет валидацию цепочки доверия. Если корневые сертификаты головного удостоверяющего центра (Минцифры России) или промежуточного УЦ (например, ФНС России) отсутствуют в хранилище операционной системы, сертификат помечается как недействительный и отсекается из выдачи. В результате обработка сообщает, что массив объектов пуст.

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

Шаг 5. Соответствие разрядности клиентов и контекста запуска

Проанализируем системные параметры выполнения процессов:

  1. Разрядность платформы: Если используется 64-битный тонкий клиент 1С, убедимся, что установлены компоненты плагина соответствующей разрядности. При возникновении конфликтов COM-соединений рекомендуется протестировать запуск в 32-разрядном клиенте 1С.
  2. Контекст прав администратора: Конфликт часто возникает, если платформа 1С запущена от имени администратора, а Saby Plugin стартовал в контексте стандартного пользователя (или наоборот). Межпроцессное взаимодействие блокируется механизмами изоляции Windows. Оба приложения должны работать в одинаковом пользовательском окружении.

Шаг 6. Дополнительная настройка для КриптоПро версии 5

При использовании криптопровайдера КриптоПро версии 5 с определенными моделями смарт-карт и токенов плагин может не успевать получить ответ от считывателя. В этом случае в конфигурационном файле плагина user-config.ini (расположенном в каталоге пользовательских настроек плагина) необходимо прописать директиву активации считывателей:


[Считыватели]
РежимАктивныхСчитывателейКриптоПро5=true

После внесения правок плагин следует перезапустить.

Шаг 7. Способ авторизации и проверка настроек обработки

Если требуется срочно отправить документы, а считывание сертификата при первичном входе блокируется, разберем альтернативный сценарий: авторизуемся в обработке по логину и паролю личного кабинета СБИС. В таком режиме вход не зависит от проверки сертификата на этапе запуска, а обращение к носителю произойдет непосредственно в момент подписания исходящего пакета.

Также проверим в параметрах подключения обработки используемый протокол взаимодействия: переключение между режимами интеграции (например, ExtSDK и ExtSDK2) и отключение флага использования тестового контура позволяет исключить фильтрацию рабочих сертификатов при инициализации модуля.

← На главную