При настройке обмена с Фондом социального страхования (ныне Социальный фонд России — СФР) для работы с электронными листками нетрудоспособности (ЭЛН) пользователи часто сталкиваются с ситуацией, когда программа 1С:Зарплата и Управление Персоналом не отображает нужные сертификаты в списке выбора. Несмотря на то, что сертификаты установлены в системе через КриптоПро CSP и корректно отображаются в других программах, при попытке выбрать «Сертификат ФСС» или «Сертификат уполномоченного лица» в настройках 1С список оказывается пустым или содержит только сертификат самой организации.
В этой статье мы подробно разберем причины такого поведения системы, проанализируем изменения в механизмах фильтрации сертификатов и приведем пошаговую инструкцию по решению проблемы. Для тех, кто только планирует переход на современную версию программы, подготовлен раздел с решениями для переноса данных в 1С:ЗУП.
Ранее для корректной работы 1С было достаточно установить сертификаты фонда в системное хранилище Личные (на английском языке — My). Однако после ряда обновлений конфигураций на платформе «1С:Предприятие 8.3» алгоритм поиска сертификатов в коде программы изменился. Теперь при выборе сертификата страхователя (организации) программа продолжает обращаться к хранилищу Личные, но при выборе технологических сертификатов фонда (ФСС/СФР) срабатывает фильтр по разделу Другие пользователи (AddressBook).
Это связано с тем, что сертификат фонда не является вашим личным сертификатом с закрытым ключом; это публичный сертификат (открытый ключ) контролирующего органа, который используется для шифрования данных. С точки зрения архитектуры безопасности Windows, такие сертификаты должны располагаться именно в разделе Другие пользователи.
Для того чтобы 1С «увидела» сертификаты, выполним следующие действия:
Win + R, введем команду certmgr.msc и нажмем Enter..cer).После выполнения этих действий вернемся в 1С:ЗУП. Теперь при нажатии на кнопку выбора сертификата фонда в настройках ЭЛН программа обратится к хранилищу AddressBook и успешно отобразит установленные сертификаты.
Проанализируем, как это реализовано на уровне встроенного языка 1С. В типовых решениях для работы с криптографией часто используется объект МенеджерКриптографии. При вызове диалога выбора сертификата накладывается отбор. Рассмотрим пример логики, которая может приводить к описанной ситуации:
// Пример логики отбора сертификатов
ПараметрыОтбора = Новый Структура;
Если ТипСертификата = "Фонд" Тогда
ПараметрыОтбора.Вставить("ИмяХранилища", "AddressBook");
Иначе
ПараметрыОтбора.Вставить("ИмяХранилища", "My");
КонецЕсли;
СписокСертификатов = Криптография.ПолучитьСписокСертификатов(ПараметрыОтбора);
Как мы видим, если разработчики жестко задали имя хранилища AddressBook, сертификаты из хранилища Личные (My) просто не попадут в результирующий список, даже если они физически присутствуют на компьютере.
Важно помнить, что с 2023 года ФСС и ПФР объединены в Социальный фонд России (СФР). Это внесло дополнительные коррективы в настройку обмена:
1С:ЗУП 3.1 реализована кнопка автоматического обновления сертификатов фонда. Программа сама подключается к ресурсам 1С и загружает нужные цепочки сертификатов, размещая их в правильных хранилищах. Перед ручными манипуляциями рекомендуется попробовать воспользоваться кнопкой «Обновить» или «Загрузить из интернета» в настройках СЭДО.Если ваша база 1С работает в клиент-серверном варианте, настройки на локальном компьютере пользователя могут быть недостаточными. Выясним причину: при выполнении операций обмена (например, отправка реестра или получение ЭЛН) код может исполняться на стороне сервера. Для стабильной работы таких систем и своевременного обслуживания можно автоматизировать обновление и архивацию баз 1С по расписанию.
В этом случае необходимо убедиться в следующем:
rphost.Промежуточные центры сертификации на сервере, проверка подписи завершится ошибкой.Проанализируем еще одну частую проблему: 1С видит сертификат, но выдает ошибку при попытке использования. Выясним, почему это происходит. Каждый сертификат фонда подписан вышестоящим удостоверяющим центром.
Откройте установленный сертификат двойным кликом и перейдите на вкладку Путь сертификации. Если на значке сертификата стоит красный крестик или желтый восклицательный знак с надписью «Этот сертификат не удалось проверить», значит, у вас не установлены корневые сертификаты. Вам необходимо скачать и установить в хранилище Доверенные корневые центры сертификации сертификат Головного удостоверяющего центра (Минцифры) и корневой сертификат УЦ ФНС или СФР.
С сентября 2023 года при использовании личного сертификата сотрудника (например, бухгалтера) обязательно наличие МЧД. В настройках обмена с СФР в 1С:ЗУП теперь нужно указывать не только сертификат физического лица, но и номер доверенности, зарегистрированной в реестре фонда. Без этого даже при идеально настроенных сертификатах обмен ЭЛН работать не будет.
Рассмотрим резюме: если 1С:ЗУП не видит сертификат ФСС, первым делом проверьте его наличие в хранилище Другие пользователи (AddressBook). Это наиболее вероятная причина для актуальных релизов программы. Если это не помогло — используйте встроенные средства автоматического обновления настроек и проверяйте права доступа серверной службы к криптографии.