Переход со старых версий платформы (например, с 8.2 на 8.3) или плановое обновление релизов технологической платформы 1С:Предприятие нередко преподносит администраторам неприятные сюрпризы. Одним из наиболее критичных сбоев является ошибка программного лицензирования, ссылающаяся на внутренний криптографический модуль CryptoGeneralHelpers.cpp. Программа аварийно завершает свою работу, предлагая лишь закрыть или перезапустить сеанс.
В этой статье мы подробно проанализируем причины возникновения этой проблемы и разберем по шагам проверенные способы ее решения — от базовой очистки системных каталогов до устранения скрытых конфликтов операционной системы и восстановления служб Windows.
Данный сбой указывает на то, что криптографическая подсистема безопасности 1С не смогла прочитать или верифицировать файл программной лицензии. Платформа распознает структуру файла как поврежденную или не соответствующую ожидаемому формату. Это происходит в следующих случаях:
*.lic в различных каталогах на одном компьютере или в сети.Рассмотрим подробнее каждое из решений, чтобы последовательно исключить все возможные неполадки.
Это самый распространенный сценарий. При обновлении платформы 1С может искать лицензии как в старых путях, оставшихся от 8.2, так и в новых директориях 8.3. Если один и тот же файл лицензии был скопирован в несколько папок, криптографический модуль выдаст ошибку формата.
Выполним очистку по следующему алгоритму:
Шаг 1. Локализуем файлы лицензий. В зависимости от версии операционной системы файлы программных лицензий с расширением .lic могут располагаться в следующих каталогах:
C:\ProgramData\1C\licenses\C:\Documents and Settings\All Users\Application Data\1C\licenses\%USERPROFILE%\AppData\Local\1C\1Cv8\ExtDst\ или %USERPROFILE%\AppData\Roaming\1C\licenses\C:\Program Files\1cv8\conf\ или C:\Program Files (x86)\1cv8\conf\Шаг 2. Анализируем файлы. Нам необходимо убедиться, что на компьютере присутствует только один файл действующей лицензии. Если вы обнаружили несколько файлов вида 2*.lic, временно переместите «лишние» файлы в резервную папку на другом диске. Важно помнить: файлы лицензий можно перемещать, но ни в коем случае нельзя копировать и оставлять дубликаты в рабочих каталогах 1С.
Шаг 3. Удаляем файлы сетевых связей. Помимо файлов лицензий, платформа кэширует параметры соединений. Нам необходимо найти и безвозвратно удалить файлы связей. В каталогах 1С найдите файлы с расширениями .pfl. Особое внимание уделите файлам conn8211.pfl (используется в 8.2) и 1cv8conn.pfl (используется в 8.3). Смело удаляйте их — при следующем запуске платформа сгенерирует их заново без ошибок.
Для клиент-серверных версий перед проведением файловых операций крайне рекомендуется временно остановить службу сервера 1С:Предприятие. Рассмотрим консольные команды для быстрой очистки:
net stop "1C:Enterprise 8.3 Server Agent"
del /f /q "C:\ProgramData\1C\licenses\*conn*.pfl"
net start "1C:Enterprise 8.3 Server Agent"
Начиная с релизов платформы 8.3.7 и выше разработчики значительно усилили встроенную защиту от нелегального использования программного обеспечения. Если система безопасности обнаруживает признаки эмуляции (даже если сейчас вы используете абсолютно легальную программную лицензию или оригинальный USB-ключ HASP), она целенаправленно блокирует запуск через вызов ошибки в CryptoGeneralHelpers.cpp.
Проанализируем систему на наличие нелегального софта и очистим её:
Virtual Usb Bus Enumerator, Sentinel HASP (с пометкой эмулятора) или сторонние виртуальные устройства MultiKey. Если они найдены — удалите их из системы.C:\Program Files\1cv8\bin\ или аналогичный путь для 32-битной версии). Проверьте наличие модифицированных файлов. Особое внимание обратите на библиотеку backbas.dll. Если дата изменения файла отличается от даты остальных библиотек релиза, либо если рядом находятся подозрительные файлы (например, backbas.dll.bak), это явный признак применения патчей. Переустановите платформу «начисто», скачав оригинальный дистрибутив с портала 1С.regedit и выполните поиск по ключевым словам hasp, vushere, multikey. Особое внимание обратите на ветку:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\. Если там присутствуют службы эмуляторов, удалите соответствующие разделы и перезагрузите компьютер.Программная лицензия 1С жестко привязывается к ключевым параметрам компьютера. К ним относятся сетевые адаптеры, объем оперативной памяти, модель процессора, BIOS материнской платы и параметры разделов жестких дисков. Сбор этой информации платформа осуществляет через встроенную службу операционной системы Windows Management Instrumentation (WMI).
Если репозиторий WMI поврежден, 1С при запуске получает пустые значения характеристик ПК. Модуль криптографии не может сопоставить полученные «пустые» параметры с теми, что записаны в файле лицензии .lic, и рапортует о неверном формате файла.
Для исправления ситуации выполним пересборку репозитория WMI. Запустите командную строку от имени Администратора и выполните следующий набор команд:
net stop winmgmt /y
cd %windir%\system32\wbem
ren repository repository.old
net start winmgmt
После этого служба WMI заново просканирует все аппаратные узлы компьютера и перестроит базу данных. Попробуйте запустить 1С:Предприятие и проверить, ушла ли ошибка при вызове окна «О программе».
В крупных компаниях с развитой ИТ-инфраструктурой часто используется выделенный сервер лицензирования 1С. Если на сервере приложений установлена 64-разрядная служба сервера, а на сервере лицензирования — 32-разрядная (или наоборот), то при передаче зашифрованных сетевых пакетов между процессами rphost может возникать сбой десериализации данных.
В результате принимающая сторона считывает сетевой пакет лицензии с ошибками разметки, что приводит к генерации исключения в модуле CryptoGeneralHelpers.cpp.
Решение очевидно: приведите архитектуру серверов к единому стандарту. На всех узлах кластера и серверах лицензирования должны быть установлены платформы строго одинаковой разрядности и одного технологического релиза.
Если ошибка возникает локально у одного-двух пользователей на конкретной базе данных, велика вероятность локального повреждения метаданных кэша 1С.
Проанализируем ситуацию и выполним сброс настроек:
%USERPROFILE%\AppData\Local\1C\1Cv8\
%USERPROFILE%\AppData\Roaming\1C\1Cv8\
Если все вышеперечисленные шаги не привели к успеху, выполните процедуру восстановления лицензии. Запустите конфигуратор, выберите пункт получения лицензии, введите первый пин-код (если аппаратные характеристики ПК не менялись) либо используйте следующий резервный пин-код из вашего комплекта поставки программного продукта.