В период сдачи отчетности или при работе с больничными листами (ЭЛН) бухгалтеры и системные администраторы часто сталкиваются с ситуацией, когда обмен с Фондом (СЭДО СФР) перестает работать. Одной из самых распространенных и пугающих ошибок является сообщение с кодом состояния 500 и техническим текстом о невозможности расшифровать сообщение.
Давайте подробно разберем, почему возникает ошибка ru.fss.cryptopro.jcp.crypt.CryptoException, и пошагово рассмотрим алгоритм действий для восстановления обмена с СФР (бывшим ФСС).
При попытке нажать кнопку «Загрузить» или получить сообщения за период, 1С выдает ошибку, которая фиксируется в журнале регистрации. Текст ошибки обычно выглядит так:
Получена ошибка сервера СЭДО СФР (бывш. ФСС) (код состояния 500): ... при попытке расшифровать сообщение. Стек: ru.fss.cryptopro.jcp.crypt.CryptoException: Не удалось расшифровать сообщение. Возможно сообщение зашифровано на ключе отличном от ключа уполномоченного лица ФСС.
Это сообщение прямо говорит нам о том, что проблема кроется в криптографии: программа не может расшифровать ответ, полученный от сервера Фонда, либо не может корректно зашифровать запрос к нему.
Как выяснилось в ходе анализа практических случаев, наиболее частой причиной является смена сертификатов на стороне самого Фонда. Сертификаты имеют свой срок действия, и СФР периодически их обновляет. Если в вашей базе 1С настроен старый сертификат, обмен работать не будет.
Разберем процесс обновления сертификатов поэтапно.
Вам необходимо получить действующие сертификаты уполномоченных лиц СФР. Делать это нужно только с официальных ресурсов.
lk.fss.ru/cert.html).Важный нюанс: Внимательно смотрите на дату и время окончания действия сертификата. На форумах часто отмечают, что пользователи скачивают сертификат, который уже истек или истекает на днях. Убедитесь, что вы загружаете файлы, действующие в текущем и следующем году (например, до 2025 года).
После скачивания у вас будут файлы с расширением .cer. Откройте их двойным кликом. Вкладка «Общие» покажет, кому выдан сертификат и срок его действия.
Обратим внимание на интересный момент, замеченный пользователями: время действия сертификата в файле и время, отображаемое в 1С после установки, может отличаться. Это связано с часовыми поясами. Например, на сайте указано время 16:52, в скачанном файле (в вашей ОС) — 20:52 (если у вас +4 часа к Москве). Это нормально, ориентируйтесь на дату и уникальный отпечаток.
Для корректной работы 1С сертификаты должны быть установлены в хранилище операционной системы.
Даже если вы скачали самый свежий сертификат СФР, он может не работать, если компьютер ему "не доверяет". С недавнего времени сертификаты госорганов (включая СФР) выпускаются Удостоверяющим Центром Федерального Казначейства (УЦ ФК).
Посмотрим, как проверить целостность цепочки:
Чтобы исправить это, необходимо установить корневые сертификаты:
Их можно найти на портале Госуслуг или сайте Казначейства. Устанавливать их нужно в хранилище Доверенные корневые центры сертификации.
Просто установить сертификат в Windows недостаточно. Программа 1С должна знать, какой именно сертификат использовать для шифрования посылок в адрес Фонда.
Разберем последовательность действий в интерфейсе (на примере 1С:ЗУП или 1С:Бухгалтерии):
Важный совет: Даже если там уже стоит верное название, зайдите и перевыберите его заново. Иногда 1С кеширует "отпечаток" старого сертификата, и визуально правильная настройка на деле ссылается на удаленный или просроченный объект.
Если вы работаете в файловом варианте (база на вашем компьютере), то установка сертификатов на ваш ПК решает проблему. Однако, если у вас SQL-версия и сервер 1С Предприятия, ситуация сложнее.
Рассмотрим механику процесса: фоновые задания по обмену с СЭДО выполняются на сервере. Это значит, что:
Частая ошибка администраторов: установили сертификат на компьютере бухгалтера, всё настроили, а ошибка CryptoException не уходит. Решение: зайти по RDP на сервер 1С и повторить установку сертификатов там, выбрав хранилище «Локальный компьютер».
Иногда после всех настроек 1С продолжает выдавать ошибку по инерции. Это может быть связано с сеансовыми данными или кешем.
Рекомендуем выполнить следующие действия:
AppData\Local\1C\1cv8 и AppData\Roaming\1C\1cv8).Фирма 1С оперативно выпускает исправления (патчи) для конфигураций. Для проблем с СЭДО часто выходят патчи с префиксом EF_.... Они могут увеличивать тайм-ауты ожидания ответа от сервера или менять логику обработки ошибок. Зайдите в Администрирование -> Обслуживание -> Обновление программы и проверьте наличие патчей.
В теме обсуждалось переключение режима обмена. Существует два варианта:
Если прямой обмен выдает ошибки, попробуйте включить обмен через оператора. Операторы ЭДО часто берут на себя часть работы по шифрованию и имеют более стабильные каналы связи с Фондом. Однако, для работы шифрования сертификаты всё равно должны быть актуальны на вашем узле.
Ошибка CryptoException при обмене с СЭДО СФР в 99% случаев означает, что программе нечем расшифровать ответ или нечем зашифровать запрос из-за проблем с ключами.
Проверьте ваш чек-лист:
lk.fss.ru (для ЭЛН).После выполнения этих шагов перезапустите 1С и попробуйте выполнить обмен повторно. В большинстве случаев загрузка больничных возобновится.