Таблица лицензий (License Management System, LMS)– разновидность защищенной ячейки, в которой хранится общий сетевой ресурс ключей Guardant Sign Net/ Time Net, а также сетевые ресурсы многомодульных программных комплексов.
В сетевом ключе может быть только одна таблица лицензий.
Адрес таблицы в памяти ключа определяется по значению, указанному в поле kmTableLMS (29 SAM).
Заголовок таблицы имеет размер 2 байта.

Формат таблицы лицензий современных сетевых ключей

Для Guardant Sign Net / Time Net наличие таблицы лицензий обязательно, т. к. в ней хранится реальный сетевой ресурс ключа. Реальный ресурс ключа лежит в первой по счету записи LMS. За ним следуют записи с ресурсами модулей.
Данные защищенной ячейки типа таблица лицензий, размещаются в поле rs_K[] (см. описание формата дескриптора защищенной ячейки):

Смещение Смещение от начала поля *rs_K[]

Размер

Значение

Комментарии

0000

2 байта

'LT'

Сигнатура таблицы

0002

2 байта

0x0510

Версия таблицы

0004

4 байта

CRC

Контрольная сумма таблицы^**^ Для подсчета CRC таблицы лицензий входные параметры функции GrdCRC должны быть следующими:
pData = начиная с флагов таблицы (0008 Dec) - до конца таблицы
dwLng = зависит от количества записей таблицы лицензий; выравнивающий байт не учитывается
dwPrevCRC = -1,подсчитанная при помощи GrdCRC от -1

0008

2 байта

LMS_FLAG_LICENCE_SIZE_2BYTES

Флаги таблицы.
LMS_FLAG_LICENCE_SIZE_2BYTES установлен, если размер записи – 2 байта, иначе -1

0010

1 байт

Количество записей таблицы^***^ При наличии в таблице одного модуля LMS (помимо записи с реальным сетевым ресурсом ключа), значение этого поля будет равно двум – и т. д.

Общий размер LMS не может превышать 254 байта

0011

5 байтов

Зарезервировано

Не используется

0016

1 или 2
байта

0-255 или 0-65535

Реальный сетевой ресурс ключа

0017 или
0018

1 или 2
байта

0-255 или 0-65535

0-й модуль LMS


При программировании ключа с помощью Guardant API в поле Счетчик #2 необходимо прописать значение, равное значению основного ресурса в таблице лицензий, т. к. Счетчик #2 нужен утилитам диагностики для отображения информации о ключе.

Формат таблицы лицензий Guardant Net II/ Net

Для ключей Guardant Net II/ Net наличие таблицы лицензий обязательно только в случае, если необходимо лицензировать приложение, состоящее из нескольких модулей.
Здесь таблица лицензий отвечает только за ресурсы модулей, основной ресурс сетевого ключа содержится в поле Счетчик #2.
Формат таблицы Guardant Net II/ Net:

Адрес

Размер

Значение

Комментарии

0000

1 байт

Размер модуля
+ Количествозаписей в таблице

Если старший бит байта установлен в 1, то ресурсы модулей имеют размер – 2 байта, иначе – 1 байт. Остальные 7 бит содержат количество записей от 1 до 127 или насколько хватит памяти ключа. Для старых клиентов в новом сервере можно использовать лицензирования по копиям приложения, если в старшем бите модуля указать 1. Так 128 – лицензирования по основному ресурсу в режиме лицензирования по копиям. 129 – модуль №0 по копиям и т. д.

0001

1 байт

Зарезервировано

Не используется

0002

1 или 2
байта

Ресурс 0-го модуля

Размер может быть 1 или 2 байта (максимальное значение 255 и 63355 соотв.), следующая запись лежит прямо за данной записью. Если указан максимальный ресурс, то ресурс модуля считается неограниченным.

0003 или 0004

1 или 2
байта

Ресурс 1-го модуля

Адрес зависит от размера записи