Как исправить ошибку «Поле [OID.1.2.643.3.131.1.1] не найдено в сертификате» при работе с ЕГАИС в 1С?

Системный администратор 1С v8.3 (Управляемые формы) 1С:Розница Торговля и дистрибуция
← На главную

С сентября 2021 года многие пользователи столкнулись с проблемой при попытке пробития чеков с алкогольной продукцией. Ошибка «Поле [OID.1.2.643.3.131.1.1] не найдено в сертификате» блокирует работу магазинов, несмотря на то, что сама электронная подпись (КЭП) является валидной. Разберем подробно причины возникновения этой ситуации и пошагово рассмотрим способы ее решения.

Почему возникает ошибка: техническая суть изменений

Для начала проанализируем ситуацию с точки зрения законодательства. Согласно приказу ФСБ №795, изменились требования к структуре квалифицированного сертификата. Ранее идентификатор объекта (OID) 1.2.643.3.131.1.1 использовался как универсальный идентификатор ИНН. В новых сертификатах, выпущенных после 01.09.2021, произошло разделение:

Проблема заключается в том, что старые версии программного обеспечения (1С и Универсального транспортного модуля — УТМ) пытаются найти ИНН организации в старом поле. Не находя там нужных данных, система выдает ошибку, так как не может сопоставить владельца сертификата с организацией в базе ЕГАИС.

Шаг 1: Обновление Универсального транспортного модуля (УТМ)

Выясним причину некорректного поведения УТМ. Даже если у вас установлена версия 4.2.0, это не гарантирует корректную работу, так как исправления вносились внутри одной и той же версии (так называемые "тихие" сборки или билды). Рассмотрим процедуру обновления:

  1. Проверим текущую версию УТМ на домашней странице (обычно http://localhost:8080). Нам необходима сборка 4.2.0 build 2483 или выше.
  2. Если версия ниже, скачаем актуальный дистрибутив из личного кабинета на портале ЕГАИС.
  3. Проведем "чистую" переустановку. Перед этим обязательно создадим резервную копию базы данных УТМ (копируем папку transportDB), чтобы не потерять входящие документы.
  4. Установим новую версию УТМ. После установки убедимся, что на главной странице УТМ корректно отображается ИНН организации. Если поле ИНН пустое — УТМ все еще не видит новый атрибут в сертификате.

Шаг 2: Обновление конфигурации 1С:Розница

Даже при корректно работающем УТМ, сама программа 1С должна уметь распознавать новые атрибуты сертификата. Посмотрим на примере конфигурации «1С:Розница». Поддержка изменений приказа №795 была реализована начиная с версии 2.3.9.42. Проанализируем действия по обновлению:

Шаг 3: Проверка настроек обмена и формата чеков

Иногда ошибка сохраняется из-за несоответствия версий форматов обмена. В настройках интеграции с ЕГАИС в 1С предусмотрена возможность выбора версии формата чеков (V3 или V4). Посмотрим, как это влияет на работу:

Рассмотрим ситуацию, когда при выборе V4 возникает ошибка отсутствия OID, а при переключении на V3 система сообщает, что "Лицензия на вид деятельности не действует". Это происходит из-за того, что старые форматы (V3) жестко привязаны к старой структуре сертификата. Для стабильной работы с новыми сертификатами необходимо использовать только актуальные форматы обмена и обновленное ПО, которое поддерживает чтение OID 1.2.643.100.4.

Шаг 4: Обновление криптопровайдера и драйверов

Для того чтобы операционная система и 1С могли правильно прочитать состав сертификата, необходимо обновить средства криптографической защиты информации (СКЗИ). Проанализируем требования к ПО:

Проверка состава сертификата вручную

Если все обновления установлены, но ошибка сохраняется, проверим сам сертификат. Рассмотрим, как это сделать штатными средствами:

  1. Откроем файл сертификата (или просмотрим его через КриптоПро).
  2. Перейдем на вкладку «Состав» и найдем поле «Субъект».
  3. Проверим наличие поля ИНН ЮЛ (или INNLE). Если в составе сертификата присутствует только 12-значный ИНН физического лица, а 10-значный ИНН организации отсутствует, то такой сертификат был выпущен некорректно. В этом случае потребуется перевыпуск КЭП в удостоверяющем центре.

Важный момент: Если вы используете программный код для разбора сертификата в своих обработках, обратите внимание на метод получения атрибутов. Пример логики поиска ИНН может выглядеть так:


// Пример логики поиска ИНН в сертификате
Функция НайтиИННВСертификате(ДанныеСертификата)
    // Раньше искали только один OID
    ИНН = ПолучитьЗначениеАтрибута(ДанныеСертификата, "1.2.643.3.131.1.1");
    
    // Теперь нужно проверять и новый OID для Юрлиц
    ИНН_ЮЛ = ПолучитьЗначениеАтрибута(ДанныеСертификата, "1.2.643.100.4");
    
    Если ЗначениеЗаполнено(ИНН_ЮЛ) Тогда
        Возврат ИНН_ЮЛ;
    Иначе
        Возврат ИНН;
    КонецЕсли;
КонецФункции

Подведем итог. Решение проблемы всегда комплексное: обновление УТМ до последней сборки + обновление 1С до актуального релиза + обновление КриптоПро до версии 5.0. Только синхронное обновление всех компонентов системы позволит избавиться от ошибки поиска OID в сертификате.

← На главную