Почему 1С блокирует сертификаты коммерческих удостоверяющих центров после 01.01.2023?

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

Многие пользователи столкнулись с ситуацией, когда при попытке подписать документ программа 1С выдает предупреждение о том, что сертификат не действует, начиная с 01.01.2023. Это происходит из-за того, что в алгоритмы проверки Библиотеки стандартных подсистем (БСП) жестко заложена дата окончания действия сертификатов, выданных коммерческими удостоверяющими центрами.

Несмотря на то, что законодательство РФ продлило возможность использования таких сертификатов до 31 августа 2023 года, программный код 1С не всегда успевает за изменениями нормативной базы. Рассмотрим, как решить эту проблему в типовых и нетиповых конфигурациях.

Решение 1: Установка официальных патчей от 1С

Самый безопасный и быстрый способ исправить ситуацию — воспользоваться официальными исправлениями от разработчика. Фирма «1С» выпускает специальные патчи (исправления конфигурации), которые устраняют ошибку без необходимости внесения изменений в код вручную.

  1. Зайдите на портал обновлений 1С или в личный кабинет пользователя.
  2. Проверьте наличие опубликованных исправлений для вашего релиза конфигурации. В обсуждениях отмечалось, что для многих типовых решений (например, Бухгалтерия предприятия) такие патчи уже выпущены.
  3. Установите найденный патч через стандартный механизм управления исправлениями программы.
  4. После установки перезапустите 1С и проверьте настройки Электронной подписи — предупреждение об окончании срока действия должно исчезнуть.

Решение 2: Программное изменение через расширение (для нетиповых конфигураций)

Если ваша конфигурация сильно изменена или для нее еще не вышел актуальный патч, можно применить программное решение с помощью Расширения конфигурации. Это позволит изменить поведение функции, которая отвечает за проверку даты действия сертификата.

Суть метода заключается в изменении возвращаемого значения функции ДатаПрекращенияДействияСертификатовВыданныхКоммерческимиУЦ в общем модуле ЭлектроннаяПодписьКлиентСерверЛокализация.

Рассмотрим, как это реализовать:

  1. Создайте новое Расширение конфигурации.
  2. В режиме конфигуратора добавьте в расширение общий модуль ЭлектроннаяПодписьКлиентСерверЛокализация.
  3. Используйте аннотацию &ИзменениеИКонтроль или &Вместо для переопределения логики функции.
  4. Замените стандартную дату 2023, 1, 1 на 2023, 9, 1.

Пример кода, который необходимо изменить:


Функция ДатаПрекращенияДействияСертификатовВыданныхКоммерческимиУЦ() Экспорт
    // Было: Возврат Дата(2023, 1, 1) - 3*60*60;
    // Стало:
    Возврат Дата(2023, 9, 1) - 3*60*60; // Универсальное время относительно московского.
КонецФункции

Важное примечание: При использовании расширения убедитесь, что вы не просто изменили функцию, но и корректно настроили права. Если после правки подпись все еще не работает, проверьте, не блокирует ли её проверка цепочки доверия в настройках КриптоПро CSP или отсутствие актуальных списков отозванных сертификатов (СОС) в системе.

Решение 3: Проверка настроек и статуса сертификата

Иногда даже после внесения правок программа может продолжать выдавать ошибку. Проанализируем возможные причины:

Подводя итог, в первую очередь всегда ищите официальное обновление или патч от разработчика 1С. К ручному вмешательству в код стоит прибегать только в том случае, если патч отсутствует, а подписание документов необходимо произвести срочно.

← На главную