Достаем информацию из файла лицензии 1С

Материал из support.qbpro.ru

Данная процедура применима только к файлам лицензий применимых к программным продуктам версии ПРОФ. Довольно часто бывает ситуация, когда владельцы программ "1C" по той или иной причине теряют данные с регистрационным номером программы, пин-кодами и теми данными, что вводятся при получении лицензии (данные об организации). Без этой информации невозможно получить новую лицензию в случае ее утери, например для переустановки "1C" на другой компьютер. До недавнего времени единственным способом получить вновь все эти данные можно было написав на адрес 'lic@1c.ru' письмо, к которому нужно было прикрепить действующий файл лицензии "1C" или всю имеющуюся информацию по программному продукту. В ответ сотрудники "1C" высылают вам все необходимые данные. Однако ситуация изменилась в лучшую сторону благодаря утилите "Ring". Данная утилита отныне поставляется вместе с технологической платформой "1С:Предприятие" начиная с версии 8.3.8. И если у вас есть действующий файл лицензии (с расширением .lic) то теперь можно достать из него всю необходимое информацию. Итак, давайте последовательно разберемся какие шаги для этого нужно предпринять:

   Устанавливаем пакеты Ring и License Tools
       Данные утилиты находятся в папке ExtDst с установленной платформой 1C. Например, вот по такому пути: C:\Program Files (x86)\1cv8\8.3.8.2137\ExtDst
       Нам необходимо установить оба пакета из данной папки. Нажимаем по очереди правой кнопкой мыши на каждую утилиту и затем "Установить". Пакет быстро откроется и закроется (моргнет окно). Никаких дополнительных информационных окон об успешности установки
       выведено не будет. Но на самом деле утилиты установятся в систему. Убедиться в этом можно зайдя в установленные программ Windows. Там они называются: 1С:Enterprise License Tools и 1С:Enterprise Ring.
   Скачиваем и устанавливаем Java и Java Cryptography Extension (JCE)
       Так как оболочкой для наших утилит является среда Java, то нам необходимо скачать нужные файлы. Для начала скачиваем и устанавливаем саму программу Java с официального сайта. Затем скачиваем JCE, распаковываем фалы из скачанного архива и перемещаем с заменой в папку security, которая находится в папке с установленной Java.  Путь к папке для примера:  C:\Program Files (x86)\Java\jre1.8.0_111\lib\security


   Устанавливаем переменную окружения
       Теперь нам нужно задать специальную переменную окружения "JAVA_HOME". Для этого заходим в "Мой компьютер" –> "Свойства" –> "Дополнительные параметры системы безопасности" далее на вкладке "Дополнительно" –> "Переменные среды" нажимаем "Добавить". В качестве имени переменной пишем JAVA_HOME, а в качестве пути указываем полный путь до папки с установленной Java, например:
C:\Program Files\Java\jre1.8.0_73

Peremennaya -java home.jpg

Теперь нам нужно задать специальную переменную окружения JAVA_HOME После всех вышеперечисленных манипуляций появиться возможность использовать специальные команды для работы с лицензиями.

   Ищем на компьютере файлы лицензий
       Прежде чем приступить к изучению самих команд по работе с лицензиями нам необходимо эти самые файлы лицензий найти. По умолчанию файлы лицензий хранятся по пути: "C:/ProgramData/1C/licence" или "D:\Documents and Settings\All Users\Application Data\1C\licenses".
       Также могут быть и другие места хранения, например, в зависимости от версии ОС Windows. По этому данные файлы проще найти через поиск. Открываем глобальный поиск Windows и вводим в поисковой строке "*.lic" без кавычек. У вас должен найтись файл вида"123456789.lic". Это и есть нужный нам файл лицензии 1C. Если нашлось несколько таких файлов не пугайтесь. Скорее всего это файлы оставшиеся от предыдущих активаций программы, так как на каждую новую активацию 1C создается один новый файл. Смотрим на дату
       создания файла. С самой свежей датой нам и нужен.
   Достаем информацию из файлов Lic
       Утилита Ring на самом деле имеет множество различных команд для работы с файлами лицензий 1С, но для "выдирания" информации нам понадобятся только две из них. Это команды INFO и LIST. Остальные команды можно посмотреть на сайте информационной системы ИТС. Ссылку я приведу в конце статьи. Для начала воспользуемся командой LIST. Именно она позволяет вывести регистрационный номер и текущий пин-код вашего ПП 1С. Собственно возникает вопрос "И куда мне вводить эту команду?". Ответ прост: все команды вводятся в командную строку Windows, т.е. в системную утилиту "cmd.exe". Запускаем командную строку и вводим:
       ring license list --path C:\ProgramData\1C\license
       где,
       C:\ProgramData\1C\license путь до папки с файлами лицензий.Результатом данной команды будет список в виде комбинации "пин-код – рег.номер", выведенные здесь же в командной строке, например вот так::
       123456789012345-800111111
       Первые 15 цифр это и есть ваш текущий пин-код, остальные цифры после дефиса это рег. номер программы. Если по указанному пути лежит несколько файлов, то по каждому из них будет выведена информация. Если нужна информация по конкретному файлу лицензии, то оставляем его в этой папке, остальные временно переносим в любое другое место. Внимание!!! Ни в коем случае не КОПИРУЙТЕ файлы лицензии в папки на этом же компьютере, т.е. нужно именно ПЕРЕМЕЩАТЬ их. Так как если вы их скопируете программа 1С решит, что вы запустили несколько ее дублей под одним пин-кодом. После этого лицензия заблокируется с предупреждением, что то вроде "недопустимо использование более одного пин-кода". Так что будьте внимательны, прецеденты были в моей практике.
       Давайте теперь воспользуемся командой INFO. Она позволяет посмотреть те данные, что вводятся при получении лицензии (данные об организации).
       ring license info --name 123456789012345-800111111 --path C:\ProgramData\1C\license
       Как видите принцип здесь тот же только добавился атрибут --name. Правда 1С пошли здесь крайне изощренным методом и вместо того, что бы писать имя файла с лицензией, приходится писать комбинацию "пин-код – рег.номер". Лично я целых 2 часа "танцевал с бубном" прежде чем понять как использовать данную команду, т.к. на сайте ИТС не было конкретной информации об указании какого имени идет речь.
       Примером результата данной команды будет:
       Информация о пользователе:
       Имя: Иванов
       Отчество: Иван
       Фамилия: Иванович
       e-mail: post@yandex.ru
       Компания: ООО "Козявка"
       Страна: Рабония
       Индекс: 555000
       Регион/область: Спрингфилд
       Город: Город
       Улица: Зеленая
       Дом: 666
       Информация о продукте:
       Описание: 1С:Предприятие 8. Лицензия на 5 рабочих мест (программная защита)
       Дата комплектации: 00:00:00 09.09.2015
       Регистрационный номер: 800111111G0
       Код продукта: 0000000000006
   Благодаря пользователю miller7777777 теперь нет необходимости использовать командную строку для получения данных (старая моя инструкция для 5 шага больше не актуальна). При помощи его утилиты LicDataExtractor регистрационные данные, извлеченные из файла лицензии, показываются в окне на экране, откуда могут быть сразу же скопированы или сохранены в текстовый файл. С инструкцией по работе с данной утилитой можно ознакомиться по ссылке:
   https://github.com/miller7777777/LicDataExtractor
   Вот и все. Теперь вы научились извлекать все необходимые данные из файла лицензий 1C.
   Стоит отметить, что данная процедура применима только к файлам лицензий применимых к программным продуктам версии ПРОФ.
   Извлечь таким образом информацию из лицензий базовых версий или аппаратных ключей не получится.
   Вся информация в данной статье подготовлена на основе данных взятых с сайта ИТС (здесь же можно почитать и про прочие команды для работы с файлом лицензии), а так же благодаря пользователю miller7777777.