При разработке конфигураций с нуля или работе с информационными базами на платформе 1С:Предприятие 8.3 разработчики и администраторы нередко сталкиваются с регулярным появлением модального предупреждения: «Проверка конфигурации в центре лицензирования не выполнена». Сообщение может появляться каждые несколько минут, мешая нормальной работе в режиме 1С:Предприятие и Конфигуратор, даже если используется полностью оригинальная самописная конфигурация и официальный ключ защиты.
Разберем детально механизм функционирования Центра защиты от несанкционированного использования (ЦЗО), выясним основные причины сбоев и рассмотрим практические способы решения проблемы.
Начиная с версии 8.3.7, в платформу 1С:Предприятие встроен механизм контроля легальности используемого программного обеспечения. Проанализируем логику его поведения:
Рассмотрим подробнее основные факторы, которые приводят к сбою валидации:
cacert.pem в каталоге bin, а не через системное хранилище ОС. При устаревании или отсутствии цепочки доверенных сертификатов соединение блокируется.inetcfg.xml.Разберем по шагам доступные варианты исправления ошибки в зависимости от условий инфраструктуры.
Проверим доступность серверов проверки. Для этого в веб-браузере на проблемном компьютере необходимо открыть адрес центра обновлений и проверить статус сертификата безопасности (значок защищенного соединения).
Для платформ версий 8.3.7–8.3.8, использующих локальное хранилище сертификатов, выполним обновление файла cacert.pem, расположенного в каталоге установки платформы (например, C:\Program Files\1cv8\8.3.X.XXXX\bin\cacert.pem), добавив в него актуальные корневые сертификаты, либо обновим платформу до актуального релиза ветки 8.3.8 или выше, где используется системное хранилище Windows/Linux.
Если в организации используется прокси-сервер с авторизацией, проанализируем параметры файла inetcfg.xml, расположенного в каталоге conf платформы 1С. Убедимся, что параметры аутентификации указаны корректно.
В случае работы в закрытом контуре без выхода в интернет настроим правила брандмауэра: сетевой экран должен не сбрасывать запросы по таймауту, а сразу отправлять TCP RST (Reject), либо интерфейс должен быть полностью изолирован от внешних маршрутов. В таком случае платформа сразу фиксирует статус «Проверка лицензионного использования не выполнялась» и перестает выводить навязчивые предупреждения.
В платформе предусмотрен штатный механизм указания параметров авторизации. В режиме Конфигуратор откроем главное меню: Администрирование – Установить настройки клиента лицензирования и укажем учетные данные доступа к порталу 1С.
Для конфигураций собственной разработки разработчик может управлять поведением платформы программно. Рассмотрим пример использования встроенного языка для регистрации обработчика запроса данных лицензирования:
// В модуле управляемого приложения при начале работы системы
Процедура ПриНачалеРаботыСистемы()
// Подключаем собственный обработчик запроса настроек ЦЗО
ПодключитьОбработчикЗапросаНастроекКлиентаЛицензирования("ОбработкаЗапросаЛицензирования");
КонецПроцедуры
Процедура ОбработкаЗапросаЛицензирования() Экспорт
// Установка параметров клиента лицензирования программным путем
ДанныеКлиента = Новый ПараметрыКлиентаЛицензирования;
// Заполняем необходимые параметры при наличии учетных данных
УстановитьНастройкиКлиентаЛицензирования(ДанныеКлиента);
КонецПроцедуры
Если разработка ведется для специфических внутренних задач и механизм обращения к ЦЗО не требуется, можно изменить режим совместимости конфигурации. В свойствах корневого элемента конфигурации установим свойство «Режим совместимости» в значение «Версия 8.3.6» или ниже. На этом уровне совместимости платформенный механизм обращения к центру лицензирования полностью отключен.