В практике разработчиков 1С часто возникает ситуация, когда необходимо внедрить небольшую доработку в базовую версию конфигурации (например, «1С:Бухгалтерия предприятия» или «1С:Управление нашей фирмой»). Однако базовая версия имеет жесткие лицензионные ограничения: она не поддерживает изменение конфигурации и использование сторонних расширений. В этой статье мы подробно разберем технические и юридические аспекты механизма подписания расширений, выясним, для чего нужен параметр -digisign, и почему обычный разработчик сталкивается с непреодолимыми препятствиями при попытке адаптировать расширение для базовой версии.
Для начала проанализируем ситуацию: почему платформа 1С блокирует установку расширений в базовых версиях? Согласно лицензионному соглашению, базовые версии предназначены для ведения учета «как есть», без возможности модификации логики. Однако современные реалии потребовали от фирмы «1С» внедрения механизмов оперативного исправления ошибок (патчей) и возможности расширения функционала через официальный магазин приложений. Для этого был разработан механизм цифровой подписи расширений.
Рассмотрим, как система определяет, можно ли запустить расширение в базовой версии:
Если хотя бы одно условие не соблюдено, расширение просто не будет подключено, а пользователь получит уведомление о нарушении лицензионной чистоты.
Рассмотрим техническую сторону вопроса, которую затрагивал автор темы. В платформе «1С:Предприятие 8.3» действительно существуют инструменты для подписания расширений. Это можно сделать через конфигуратор в пакетном режиме или через режим агента. Основная команда для подписания выглядит следующим образом:
designer.exe /F "C:\Base\MyBase" /N "Admin" /P "Pass" /SignCfg "C:\Extensions\MyExt.cfe" -digisign "C:\Cert\MyCert.pfx" -digisignpass "CertPassword" -licparams "C:\Lic\Params.xml"
Или, если мы используем режим агента конфигуратора, команда будет выглядеть так:
designer > sign-cfg --result-file "C:\Result\SignedExt.cfe" --type file --file "C:\Source\MyExt.cfe" --digisign "C:\Cert\MyCert.pfx" --licparams "C:\Lic\Params.xml"
Разберем основные параметры этой операции:
--file или /SignCfg: путь к исходному файлу расширения (cfe).--digisign: путь к файлу сертификата (обычно в формате PFX).--licparams: путь к файлу параметров лицензирования. Это и есть тот самый «секретный» файл, о котором шла речь в обсуждении.Проанализируем ситуацию с файлом параметров лицензирования (licensing parameters file). Многие разработчики ошибочно полагают, что это обычный XML-файл, который можно создать самостоятельно. На самом деле, этот файл является ключевым звеном в системе защиты 1С.
Файл параметров лицензирования генерируется исключительно специалистами компании «1С» для конкретных программных продуктов и конкретных партнеров-разработчиков. Он содержит:
Без этого файла, даже имея валидный сертификат (например, полученный в обычном удостоверяющем центре), вы сможете подписать расширение, но оно все равно не будет работать в базовой версии. Платформа воспримет его как «стороннее», так как подпись не будет подтверждена файлом параметров, авторизованным самой «1С».
Выясним причину, по которой обычный программист не может просто так подписать расширение для клиента с ИП на базовой версии. Механизм подписи был введен не для защиты интеллектуальной собственности (кода), а как средство контроля лицензионной чистоты. Базовые версии стоят значительно дешевле версий ПРОФ именно из-за ограничений на кастомизацию.
Если бы любой разработчик мог подписывать расширения, разница между Базовой и ПРОФ версиями практически стерлась бы, что противоречит маркетинговой политике правообладателя. Таким образом, «1С» оставила только три легальных пути использования расширений в базовых версиях:
В ходе дискуссии был упомянут один важный нюанс: расширения «вдруг» начинают работать в базовой конфигурации, если на компьютере обнаружена лицензия версии ПРОФ или КОРП. Рассмотрим, почему это происходит.
Платформа 1С работает по принципу «наивысшей доступной лицензии». Если вы запускаете базовую конфигурацию, используя при этом программный ключ ПРОФ или многопользовательский аппаратный ключ (HASP), движок платформы переключается в режим работы ПРОФ. В этом режиме ограничения на использование неподписанных расширений снимаются, хотя сама конфигурация формально остается базовой. Однако для «мелкого ИП из одного человека» этот вариант не всегда подходит, так как требует приобретения дорогостоящей лицензии ПРОФ.
Подводя итог нашему анализу, можно сделать следующие выводы:
1. Самостоятельное подписание расширения для работы в базовой версии 1С обычным разработчиком невозможно без получения специального файла параметров лицензирования от фирмы «1С».
2. Использование ключа -digisign без авторизованного файла параметров позволит вам поставить цифровую подпись на расширение (что полезно для проверки авторства или целостности), но не даст прав на обход ограничений базовой версии.
3. Если клиенту на базовой версии критически необходима доработка, у вас есть три пути:
Таким образом, техническая возможность подписи существует, но она жестко интегрирована в юридическую и лицензионную модель экосистемы «1С», защищая интересы правообладателя и структуру разделения программных продуктов на сегменты.