Отсоединенная подпись (Detached) в 1С:Фреш подтверждения невалидна
Архитектура ЭЦП в SaaS и суть проблемы
Ошибка валидации Отсоединенной (Detached) электронной подписи часто возникает при работе в облачном сервисе 1С:Фреш (SaaS) или при обмене электронными документами с государственными порталами (ЕГАИС, Честный ЗНАК). Отсоединенная подпись означает, что сам подписываемый файл (например, XML-документ) и файл подписи (.sig или .p7s) хранятся отдельно. Когда 1С (серверная часть Фреша) пытается проверить подпись, она берет исходный файл, вычисляет его хеш и сравнивает его с хешем, зашифрованным в файле подписи. Если хотя бы один байт исходного файла был изменен (например, перекодировка при загрузке) или на сервере 1С:Фреш не установлен корневой сертификат удостоверяющего центра (УЦ), подпись признается невалидной (Invalid). Бизнес-риски: отказ в приемке отчетности, невозможность подписать УПД.
Факторы инвалидации подписи
| Компонент | Причина сбоя верификации |
|---|---|
| Файл данных (Payload) | Символы возврата каретки (CRLF vs LF) были изменены при передаче файла через HTTP/FTP. |
| Алгоритм хеша | Подпись создана в формате ГОСТ 2012, но на сервере проверки нет обновления криптопровайдера. |
| Цепочка доверия | Сервер 1С:Фреш не доверяет корневому сертификату УЦ, выдавшему вашу ЭЦП (отсутствует в Trusted Root). |
Траблшутинг отсоединенной подписи в 1С
Сценарий 1: Проверка целостности данных (Encoding)
Убедитесь, что исходный файл, который вы подписывали локально, и файл, загруженный в 1С, абсолютно идентичны по размеру с точностью до байта.
- Не открывайте и не пересохраняйте XML-файлы в Блокноте перед загрузкой (он может добавить BOM-маркер UTF-8).
- Если вы пишете код интеграции, передавайте файлы строго в формате Base64, чтобы избежать искажений текстовой кодировки при парсинге JSON/XML.
Сценарий 2: Обновление сертификатов и обращение в поддержку Фреш
В облаке 1С:Фреш вы не имеете доступа к консоли сервера для установки корневых сертификатов.
- Проверьте ваш сертификат через портал Госуслуг (сервис проверки ЭЦП). Если там подпись валидна, значит проблема 100% на сервере 1С.
- Если сертификат выпущен новым или редким коммерческим УЦ, его корневого сертификата может не быть на серверах провайдера Фреш.
- Напишите тикет в техническую поддержку 1С:Фреш с просьбой: "Добавить корневой и кросс-сертификаты УЦ [Название_Вашего_УЦ] в доверенное хранилище (Machine Store) на серверах криптографии".
Типовые ошибки администраторов
- Путаница Присоединенной и Отсоединенной подписи: Присоединенная подпись содержит внутри себя исходный файл (размер файла .sig больше исходника). Если попытаться проверить её алгоритмом отсоединенной подписи, 1С выдаст ошибку структуры.
Работа с CryptoAPI, CAdES-BES и XAdES требует глубокого понимания крипто-стандартов. Разработчики ITSTM реализуют правильное формирование отсоединенных подписей прямо в коде 1С, гарантируя прохождение валидации в любых госсистемах.
Частые вопросы (FAQ)
Что такое формат подписи PKCS#7 / CMS?
Это стандарт криптографических сообщений. В 1С он поддерживается 'из коробки'. Отсоединенная подпись в этом формате содержит только подпись, сертификат подписанта и иногда штамп времени (TSP), но не сами данные.
Почему локально в 1С подпись верна, а во Фреше нет?
Локальная 1С (Толстый клиент) использует ваш локальный КриптоПро CSP и хранилище сертификатов Windows. Фреш выполняет проверку на своих Linux/Windows серверах, где могут отсутствовать нужные корневые сертификаты.
Как проверить отсоединенную подпись вручную (без 1С)?
Используйте утилиту командной строки КриптоПро (csptest): csptest.exe -sfsign -verify -in file.xml.sig -detached file.xml
Влияет ли лицензия КриптоПро на сервере на проверку?
Как правило, проверка (верификация) подписи по ГОСТ в КриптоПро CSP не требует приобретения лицензии. Лицензия нужна только для создания подписи. Однако просроченная лицензия при попытке подписания вызовет ошибку.