Интерфейс защиты
Если в контейнере с размещённым интерпретатором присутствует файл имя_библиотеки_интерпретатора.dat (далее файл с секретными данными), то при инициализации такому интерпретатору дополнительно передаётся интерфейс INCT_Connect.
INCT_Connect - интерфейс, который обеспечивает доступ интерпретатора к данным из файла с секретными данными. При этом файл с данными не извлекается из контейнера и поэтому доступен для чтения только через переданный интерпретатору интерфейс.
Интерпретатор нужно разрабатывать таким образом, чтобы его работа была обеспечена только после прохождения проверки данных, полученных через интерфейс INCT_Connect. Места проверок, их количество и алгоритм определяются разработчиком самостоятельно.
Описание методов интерфейса:
| Метод | Описание метода | Описание использования |
|---|---|---|
| Get_Count | Функция возвращает количество байт, содержащихся в файле с секретными данными (целое число). | Пользуясь предложенными методами необходимо выполнить проверку данных, размещённых разработчиком интерпретатора в контейнере, с данными, передаваемыми CAM системой интерпретатору (должны совпадать). Если разработчик разместил в контейнере файл sample.dat (библиотека интерпретатора называется sample.dll), размером 5 байт со следующими байтами (в шестнадцатеричной записи): 01 02 03 04 05 Функция Get_Count вернёт значение 5. Функция Get_Data(0) вернёт значение 1, Get_Data(2) вернёт значение 3, Get_Data(4) вернёт значение 5. Метод Get_SCData вернёт в параметре Data указатель на память с размещёнными данными 01 02 03 04 05. |
| Get_Data | Функция возвращает байт из файла с секретными данными, с номером, заданным во входном параметре. Входные параметры: Index (целое число) - номер возвращаемого байта. Нумерация байт от 0. Результат: байт из файла с секретными данными, с номером, заданным в параметре Index. | |
| Get_SCData | Метод возвращает указатель на секретные данные из файла. Выходной параметр: Data (указатель) - указатель на секретные данные. |