При отправке регламентированной отчетности через сервис «1С-Отчетность» пользователи устаревших конфигураций (например, 1С:Управление производственным предприятием 1.3) сталкиваются со сбоем на этапе проверки контейнера оператором или шлюзом налоговой службы. Рассмотрим текст типичной ошибки:
«Нарушение требований шифрования документов в контейнере. Для шифрования должны использоваться алгоритмы ГОСТ 34.12-2018 и ГОСТ 34.13-2018 (код ошибки: 0100300007)».
При этом сертификат электронной подписи является действующим, криптопровайдер обновлен до актуального релиза КриптоПро CSP 5.0, а в современных конфигурациях (1С:ERP, 1С:Бухгалтерия предприятия) на этом же рабочем месте отправка проходит успешно. Разберем по шагам, почему возникает данный сбой и как оперативно передать отчетность в контролирующие органы.
Проанализируем нормативные и программные факторы, приводящие к блокировке пакета:
1.2.643.7.1.1.5.1.1 или «Кузнечик» с OID 1.2.643.7.1.1.5.2.1). Устаревший алгоритм ГОСТ 28147-89 более не принимается шлюзом налоговой службы.ДокументооборотСКонтролир: в функции ЗашифроватьФайл передается текстовый идентификатор алгоритма вида "GR 34.12-15 M", после чего вызывается метод Крипт.PKCS7Зашифровать. Устаревшая библиотека не может правильно передать данный строковый идентификатор системному CryptoAPI, вследствие чего криптопровайдер «тихо» переключается на алгоритм по умолчанию — устаревший ГОСТ 28147-89. Локально файл успешно зашифровывается, но сервер налоговой службы бракует контейнер и возвращает код ошибки 0100300007.МенеджерКриптографии, которые формируют вызовы с прямым указанием правильных OID алгоритмов шифрования.Если на рабочем компьютере уже установлена база ERP или «Бухгалтерия предприятия», где настроен тот же сертификат КЭП, не обязательно переносить весь учет до сдачи отчета. Рассмотрим наиболее быстрый практический обход проблемы:
Разберем вариант отправки отчета напрямую через сайт налоговой службы без использования внутренних механизмов отправки старой конфигурации 1С:
Проанализируем технические требования к рабочему месту для корректной работы алгоритмов шифрования:
Если требуется восстановить автоматическую отправку непосредственно из базы 1С:УПП 1.3 до выхода официального релиза или патча от фирмы «1С», рассмотрим доработку логики шифрования через расширение конфигурации:
ДокументооборотСКонтролир, процедура шифрования пакета).МенеджерКриптографии с явной передачей параметров:
Менеджер = Новый МенеджерКриптографии("", "", 80); // 80 - тип провайдера ГОСТ 2012/256
Менеджер.АлгоритмШифрования = "GR 34.12-15 M"; // Либо передача прямого OID 1.2.643.7.1.1.5.1.1
Менеджер.Зашифровать(ПутьКИсходномуФайлу, ПутьКЗашифрованномуФайлу, МассивСертификатовПолучателей);
Переопределение обращения к криптопровайдеру через методы платформы гарантирует правильную передачу OID в подсистему Windows CryptoAPI и исключает подмену алгоритма на старый ГОСТ.