Как настроить запрос электронных листков нетрудоспособности (ЭЛН) из ФСС (СФР) в 1С:Медицина.Больничные на Altlinux с КриптоПро CSP при ошибках обмена и сертификатов?

Системный администратор 1С v8.3 (Управляемые формы) Бухгалтерский учет Сфера услуг, туризм и социальный сектор
← На главную

При работе с конфигурацией 1С:Медицина.Больничные, особенно в условиях использования операционной системы Altlinux и криптопровайдера КриптоПро CSP, пользователи могут столкнуться с трудностями при запросе электронных листков нетрудоспособности (ЭЛН) из Фонда социального страхования (СФР, ранее ФСС). Типичные ошибки включают “Ошибка получения сертификата шифрования”, “Ошибка подписания” и “Неизвестная ошибка обмена с сервером ФСС”. Давайте рассмотрим эту проблему подробнее и разберем пути ее решения.

Анализ исходной проблемы и симптомов

Предположим, мы работаем с конфигурацией 1С:Медицина.Больничные версии 2.0.5.2 в клиент-серверном варианте. Сервер 1С функционирует на Windows Server 2012 R2, а клиентское рабочее место развернуто на операционной системе Starter p9 Altlinux. Для криптографических операций используется КриптоПро CSP версии 5.0.11455. На первый взгляд, настройки КриптоПро кажутся корректными: в 1С система указывает, что КриптоПро установлена на компьютере, а сертификаты ФСС и организации прописаны в соответствующих хранилищах КриптоПро (личный сертификат в "Личное", сертификат головного удостоверяющего центра в "Доверенные корневые центры сертификации", сертификат ГУЦ ФСС РФ в "Промежуточные центры сертификации").

Несмотря на это, при попытке запросить ЭЛН из СФР возникают следующие ошибки:

  1. Обмен данными с ФСС (СФР): Ошибка получения сертификата шифрования.
  2. Обмен данными с ФСС (СФР): Ошибка подписания. Неизвестная ошибка обмена с сервером ФСС (СФР).

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

Важный аспект, который мы должны учитывать: при тестировании сертификата для обмена с ФСС (СФР) в 1С, система сообщает, что проверка прошла успешно и подписать Листок Нетрудоспособности также удается. Это говорит о том, что основной личный сертификат организации и его связка с закрытым ключом функционируют правильно для операции подписания. Проблема, скорее всего, кроется в этапах обмена, которые требуют расширенной работы с криптографией, такой как шифрование данных или полная проверка цепочки сертификатов сервера СФР.

Позднее, в процессе диагностики, может быть выявлен дополнительный симптом: при проверке сертификата ФСС (СФР) система выдает сообщение "не может проверить всю цепочку сертификатов до доверенного". Эта ошибка указывает на некорреректную установку или отсутствие одного или нескольких сертификатов в цепочке доверия (корневого или промежуточного) или проблемы с доступом к ним в хранилище доверенных сертификатов на клиентской машине Altlinux. Это критически важно для установления защищенного соединения и успешного обмена данными.

Решение: Настройка путей для ГОСТ 2001 и ГОСТ 2012

Ключевое решение, которое помогло устранить описанные проблемы, заключалось в неожиданном, но логичном шаге: необходимость прописать путь к программе (или криптографическим модулям) не только для сертификатов, использующих алгоритмы ГОСТ 2012, но и для сертификатов, основанных на ГОСТ 2001. Давайте разберем этот момент подробнее.

Понимание стандартов ГОСТ:

Долгое время основным стандартом электронной подписи в России был ГОСТ Р 34.10-2001. Однако, с развитием технологий и усилением требований к криптографической стойкости, произошел переход на новый стандарт — ГОСТ Р 34.10-2012. Удостоверяющие центры начали выдавать сертификаты по новому стандарту, но какое-то время существовал и период сосуществования, когда могли использоваться оба типа сертификатов. Серверы СФР могут требовать или использовать для шифрования соединения как один, так и другой стандарт, или же клиентская часть должна быть готова работать с обоими.

Проверка версии КриптоПро CSP и поддержка стандартов:

Убедитесь, что ваша версия КриптоПро CSP (в нашем случае 5.0.11455) поддерживает оба стандарта. КриптоПро CSP 5.0 и выше обычно поддерживает оба алгоритма подписи (ГОСТ Р 34.10-2001 и ГОСТ Р 34.10-2012) и алгоритм шифрования ГОСТ 28147-89. Для полной уверенности мы можем проверить настройки криптопровайдера.

Настройка КриптоПро CSP на Altlinux:

  1. Откройте настройки КриптоПро CSP на вашей машине Altlinux. Вы можете сделать это через графический интерфейс или через консольные утилиты, например, /opt/cprocsp/sbin/срcspc -install для установки или /opt/cprocsp/sbin/срcspc -cfg для настройки.
  2. Перейдите на вкладку, связанную с "Алгоритмами" или "Параметрами криптопровайдера". Убедитесь, что активированы и доступны для использования параметры алгоритма шифрования ГОСТ 28147-89, а также параметры алгоритма подписи ГОСТ 34.10-2001 и ГОСТ 34.10-2012. Иногда может потребоваться явное включение или проверка доступности соответствующего набора алгоритмов.
  3. Важно убедиться, что установлена компонента "Расширенная совместимость с продуктами" в КриптоПро CSP, если такая опция доступна и актуальна для вашей версии. Это может улучшить взаимодействие с различными приложениями, включая 1С.

Ключевой шаг: Указание пути к криптопровайдеру/программе в настройках 1С для работы с обоими ГОСТ:

В некоторых случаях, особенно в Linux-окружении, где пути к библиотекам и исполняемым файлам имеют решающее значение, 1С или ее внешние компоненты могут требовать явного указания пути к используемому криптопровайдеру или его библиотекам. Проблема могла быть в том, что 1С по умолчанию использовала или ожидала конфигурацию только для одного стандарта ГОСТ, игнорируя другой, что приводило к ошибкам, если сервер СФР использовал другой стандарт для части обмена (например, для шифрования сессии).
Мы должны убедиться, что в настройках 1С или в системных переменных Altlinux, которые использует 1С для поиска криптографических компонентов, корректно указаны пути, обеспечивающие работу с обоими стандартами. Это может быть:

  1. Настройка внешней компоненты 1С: В конфигурации 1С:Медицина.Больничные, в разделе, отвечающем за работу с электронными подписями и шифрованием (часто это "Администрирование" - "Общие настройки" - "Электронная подпись и шифрование" или аналогичный раздел), мы должны проверить параметры установки внешней компоненты для работы с СКЗИ. Для Altlinux необходимо загрузить и установить соответствующую внешнюю компоненту 1С и убедиться, что в настройках 1С указан корректный путь до исполняемых файлов КриптоПро CSP или его библиотек (например, /opt/cprocsp/lib/). Возможно, потребуется явное указание, что 1С должна использовать провайдер, который поддерживает оба стандарта ГОСТ.
  2. Переменные окружения Altlinux: Убедитесь, что переменные окружения, такие как LD_LIBRARY_PATH, настроены таким образом, чтобы система могла найти все необходимые библиотеки КриптоПро CSP, включая те, что отвечают за ГОСТ 2001 и ГОСТ 2012. Иногда требуется явное добавление путей к библиотекам КриптоПро в системные файлы конфигурации или в стартовый скрипт 1С.
  3. Выбор провайдера в 1С: В настройках 1С для обмена с СФР (ФСС) или электронных подписей может быть опция выбора криптографического провайдера. Мы должны убедиться, что выбран провайдер, который зарегистрирован КриптоПро CSP и способен работать с обоими наборами алгоритмов ГОСТ. Это может быть «Крипто-Про CSP» или подобное название.

Проверка лицензии КриптоПро CSP:

Убедитесь, что у вас есть действующая лицензия на КриптоПро CSP. Истекшая лицензия может приводить к ошибкам в работе криптопровайдера, включая шифрование и подписание.

Устранение проблем с цепочкой сертификатов ФСС (СФР)

Ошибка "не может проверить всю цепочку сертификатов до доверенного" (коды 0x800B0109 или 0x800B010E) является частой причиной проблем при установке защищенных соединений. Она означает, что операционная система Altlinux (и, как следствие, 1С) не может полностью доверять сертификату, который ей предоставляет сервер СФР, потому что не найдена или не проверена вся цепочка доверия от этого сертификата до корневого удостоверяющего центра. Мы должны правильно установить все необходимые сертификаты.

Пошаговая установка всех необходимых сертификатов:

  1. Скачивание сертификатов: Нам необходимо получить актуальные сертификаты от СФР (ФСС) и удостоверяющих центров.
    • Сертификат головного удостоверяющего центра (ГУЦ) Минкомсвязи России (Корневой сертификат).
    • Сертификат Удостоверяющего центра, выдавшего сертификаты СФР (промежуточный сертификат).
    • Сертификат открытого ключа подписи уполномоченного лица СФР (ФСС).
    Эти сертификаты обычно доступны на официальных государственных порталах (например, на портале СФР или на портале Единой системы идентификации и аутентификации (ЕСИА)).
  2. Установка сертификатов в КриптоПро CSP на Altlinux: После загрузки сертификатов в формате .cer (или .p7b, если это цепочка) мы устанавливаем их с помощью КриптоПро CSP.
    • Личный сертификат организации: Мы уже убедились, что он установлен в хранилище "Личное". Убедитесь, что он актуален и привязан к закрытому ключу.
    • Промежуточные удостоверяющие центры: Все промежуточные сертификаты УЦ, включая сертификат ГУЦ ФСС РФ, мы должны установить в хранилище "Промежуточные центры сертификации" через КриптоПро CSP.
    • Доверенные корневые центры сертификации: Корневой сертификат Головного удостоверяющего центра (ГУЦ) Минкомсвязи России мы устанавливаем в хранилище "Доверенные корневые центры сертификации". Убедитесь, что корневой сертификат установлен не только в системное хранилище Altlinux, но и в соответствующее хранилище КриптоПро CSP.
    Для установки сертификатов через КриптоПро CSP на Altlinux вы можете использовать команду /opt/cprocsp/bin/certmgr -install -file "путь/к/сертификату.cer" -store "MY" (для личного), "CA" (для промежуточных) или "ROOT" (для корневых).
  3. Проверка актуальности списков отзыва сертификатов (CRL): Устаревшие или недоступные списки отзыва сертификатов (CRL - Certificate Revocation Lists) могут стать причиной ошибки проверки цепочки. Мы должны убедиться, что система может загружать и проверять CRL для всех сертификатов в цепочке. Обычно КриптоПро CSP делает это автоматически, но иногда могут возникать проблемы с сетевым доступом к серверам CRL.
  4. Проверка корректности установки сертификата ФСС (СФР) в 1С: После установки всех сертификатов в систему и КриптоПро CSP, мы должны убедиться, что в настройках 1С:Медицина.Больничные для обмена с СФР (ФСС) выбран именно тот сертификат организации, который мы только что настроили, и что система 1С видит его корректно.

Особенности работы 1С:Медицина.Больничные на Altlinux

Мы работаем в специфической среде: клиентская часть на Altlinux, а серверная часть 1С на Windows Server. Это накладывает определенные требования к настройке.

  1. Все клиентские настройки КриптоПро и сертификатов – на клиентской машине Altlinux: Поскольку обмен с СФР (ФСС) и подписание документов происходят с клиентского места, все настройки, связанные с КриптоПро CSP, установкой сертификатов (личных, промежуточных, корневых) и доступом к ним, должны быть выполнены именно на машине с Altlinux. Сервер 1С на Windows Server не участвует в этом процессе напрямую.
  2. Права пользователя в 1С: Убедитесь, что пользователь 1С, который выполняет загрузку ЭЛН, имеет необходимые права доступа в конфигурации 1С:Медицина.Больничные к разделам "Учет по больничным" и "Работа с ФСС (СФР)". Недостаточные права могут блокировать некоторые операции, даже если криптографическая часть настроена верно.
  3. Настройка внешней компоненты и СКЗИ в 1С для Linux: Для стабильной работы 1С-Отчетности или прямого обмена с контролирующими органами на Linux, необходимо правильно установить и настроить внешнюю компоненту 1С для работы с СКЗИ. В настройках 1С мы должны убедиться, что внешняя компонента для работы с криптографией установлена и что указан корректный путь до СКЗИ (например, до КриптоПро CSP). Без этого 1С не сможет взаимодействовать с криптопровайдером.
  4. Регулярное обновление конфигурации 1С: Фонд социального страхования (СФР) регулярно меняет форматы обмена, требования к сертификатам и протоколам. Мы должны своевременно обновлять конфигурацию 1С:Медицина.Больничные до актуальных версий, чтобы быть уверенными в поддержке всех последних изменений.
  5. Перезагрузка после изменений: После любых значительных изменений в настройках КриптоПро CSP, установке сертификатов или конфигурации 1С рекомендуется перезагрузить операционную систему Altlinux и/или перезапустить клиент 1С. Это гарантирует, что все изменения будут корректно применены и подхвачены системой.

Общие рекомендации и советы

Для обеспечения надежной работы и оперативного устранения возможных проблем мы должны учитывать следующие моменты:

  1. Проверка наличия других ПО с ЭЦП: Убедитесь, что на клиентской машине Altlinux, кроме КриптоПро CSP, не установлено другое программное обеспечение, использующее электронную цифровую подпись (ЭЦП) или криптографические провайдеры. Конфликты между разными криптопровайдерами или библиотеками могут приводить к непредсказуемым ошибкам в работе. В нашем случае автор подтвердил, что установлено только КриптоПро.
  2. Тестирование обмена с СФР (ФСС): Используйте встроенные в 1С средства для тестирования обмена с СФР (ФСС). Даже если отдельные тесты (например, подписание) проходят успешно, полный тест обмена может выявить проблемы на более глубоком уровне, связанные с шифрованием и дешифрованием ответов от сервера СФР.
  3. Подтверждение, что сертификат для обмена с СФР (ФСС) в 1С соответствует установленному криптопровайдеру: Убедитесь, что сертификат, который мы выбрали в настройках обмена с СФР (ФСС) в 1С, действительно является тем сертификатом, который установлен и управляется КриптоПро CSP на Altlinux. Иногда могут существовать дубликаты или устаревшие записи, которые вызывают путаницу.
  4. Переустановка сертификата страхователя: В случае постоянных проблем с подписанием или обменом, иногда помогает полная переустановка личного сертификата страхователя (организации) средствами КриптоПро CSP. Это гарантирует, что сертификат корректно связан с закрытым ключом и установлен в правильное хранилище.
  5. Использование логирования КриптоПро CSP: Если проблемы сохраняются, мы можем включить подробное логирование в КриптоПро CSP. Анализ логов может дать ценную информацию о том, на каком этапе происходит сбой и какая криптографическая операция завершается ошибкой.

В целом, успешная настройка обмена с СФР (ФСС) в 1С на Altlinux с использованием КриптоПро CSP требует внимательного подхода к конфигурации как 1С, так и криптопровайдера, а также к правильной установке всей цепочки сертификатов. Мы должны быть готовы к тому, что в Linux-среде требуется более глубокое понимание системных настроек и взаимодействия различных компонентов.

← На главную