Основные операции Guardant API:

Основные функции(методы) Guardant API позволяют осуществлять сервисные операции, связанные с инициализацией и деинициализацией Guardant API, а также выполнять основные операции с защищенным контейнером:

Перечень основных операций Guardant API:

Название функции(метода)

Код доступа

Краткое описание

GrdStartupEx

Не нужен

Инициализировать GrdAPI + задать путь к GnClient.ini

GrdCleanup

Не нужен

Деинициализировать Guardant API

GrdGetLastError

Не нужен

Получить информацию о последней ошибке из защищенного контейнера

GrdFormatMessage

Не нужен

Преобразовать код ошибки в текстовое сообщение

GrdGetInfo

Не нужен

Получить информацию из защищенного контейнера

GrdIsValidHandle

Не нужен

Проверить валидность хэндла защищенногоконтейнера

GrdCreateHandle

Не нужен

Создать хэндл защищенного контейнера

GrdCloseHandle

Не нужен

Закрыть хэндл защищенного контейнера

Поиск и проверка наличия ключа:

Функции(методы) данного раздела позволяют найти электронный ключ, который удовлетворяет критериям поиска. Если такой ключ имеется то на нем можно зарегистрироваться.

Название функции(метода)

Код доступа

Краткое описание

GrdSetAccessCodes

Public и Read обязательно, остальные по необходимости

Поместить коды доступа в защищенный контейнер

GrdSetFindMode

Не нужен

Установить режимы поиска электронных ключей

GrdFind

Private Read

Найти электронный ключ, удовлетворяющий критериям поиска

GrdLogin

Private Read

Зарегистрироваться на электронном ключе

GrdLogout

Private Read

Снять регистрацию с электронного ключа

GrdCheck

Private Read

Проверить наличие электронного ключа

Работа с памятью ключа:

Функции(методы) работы с памятью ключа позволяют осуществлять сервисные операции, связанные с инициализацией и защитой памяти электронного ключаI, а также выполнять  операции связанные с чтением информации из памяти электронного ключа и  записью необходимых данных в его память.

Название функции(метода)

Код доступа

Краткое описание

GrdSetWorkMode

Не нужен

Установить режимы работы Guardant API

GrdRead

Private Read

Прочитать данные из памяти электронного ключа

GrdWrite

Private Write

Записать данные в память электронного ключа

GrdSeek

Не нужен

Переместить указатель на текущий адрес памяти электронного ключа

GrdInit

Private master

Инициализировать память электронного ключа

GrdProtect

Private master

Установить аппаратные запреты чтения/записи и записать количество аппаратных алгоритмов и защищенных ячеек

Работа с аппаратными и программно-реализованными алгоритмами:

Функции(методы) работы этого раздела позволяют преобразовывать, кодировать и декодировать данные с помощью аппаратно- или программно-реализованных алгоритмов.

Они позволяют вычислить и проверить ЭЦП массива данных.

Название функции(метода)

Код доступа

Краткое описание

GrdTransformEx

Private Read

Преобразовать данные аппаратно- или программно-реализованным алгоритмом

GrdCryptEx

Private Read

Закодировать/раскодировать данные аппаратноили программно-реализованным алгоритмом

GrdHashEx

Private Read

Расширенный вариант GrdHash

GrdSign

Private Read

Вычислить ЭЦП массива данных

GrdVerifySign

Не нужен

Проверить ЭЦП массива данных

GrdCRC

не нужен

Вычислить CRC

Работа с защищенными ячейками:

Для работы с защищенными ячейками существуют специальные функции(методы) Guardant API:

Название функции(метода)

Код доступа

Краткое описание

GrdPI_Activate

Private Read и пароль на данную операцию, если он задан в ключе

Активировать алгоритм / защищенную ячейку

GrdPI_Deactivate

Private Read и пароль на данную операцию, если он задан в ключе

Деактивировать аппаратный алгоритмили защищенную ячейку

GrdPI_Read

Private Read и пароль на данную операцию, если он задан в ключе

Прочитать данные из защищенной ячейки

GrdPI_Update

Private Read и пароль, на данную операцию, если он задан в ключе

Обновить данные в защищенной ячейке

GrdPI_GetCounter

Private Read

Получить значение счетчика запусков алгоритма

Использование технологии загружаемого кода (ключи Guardant Code):

Технология Загружаемый Код может быть реализована не только при помощи утилит, входящих в Комплект разработчика. При желании разработчики могут встраивать поддержку этой технологии непосредственно в свои приложения, используя набор предназначенных для этой цели функций:

Название функции(метода)

Код доступа

Краткое описание

GrdCodeLoad

Private Read

Загружает код приложения в формате GCEXE во flash- память ключа

GrdCodeRun

Private Read

Исполняет код, предварительно загруженный в ключ

GrdCodeGetInfo

Private Read

Возвращает информацию из дескриптора загруженного кода

GrdSetDriverMode

Private Read

Задает режим работы ключей Guardant Code/Code Time через драйвер Guardant или в HID режиме

Функции внутренннего Guardant Code API

Технология Guardant Code API позволяет использовать сервисы микропрограммы ключа серии Code, вызывая их загружаемого кода (по аналогии, как операционная система предоставляет свои сервисы пользовательской программе посредством API). При желании разработчики могут встраивать поддержку этой технологии непосредственно в свои приложения, используя набор предназначенных для этой цели функций:

Название функции

Код доступа

Краткое описание

GcaRead

-

Считать данные из памяти ключа

GcaWrite

-

Записать данные в память ключа

GcaPI_Read

-

Считать данные защищенной ячейки

GcaPI_Update

-

Изменить данные защищенной ячейки или определителя алгоритма

GcaGetTime

-

Получить время таймера ключа

GcaPI_GetTimeLimit

-

Получить оставшееся время работы алгоритма

GcaPI_GetCounter

-

Получить значение счетчика запусков алгоритма

GcaGetLastError

-

Получить код последней ошибки

GcaGetRTCQuality

-

Выполнить тест часов реального времени - RTC

GcaLedOn

-

Включить светодиод

GcaLedOff

-

Выключить светодиод

GcaExit

-

Завершить выполнение загруженного кода

GccaCryptEx

-

Зашифровать/расшифровать блок данных

GccaSign

-

Вычислить ЭЦП массива данных

GccaVerifySign

-

Проверить ЭЦП массива данных

GcaCodeRun

-

Выполнить загружаемый код из другого участка загружаемого кода

GccaGenerateKeyPair

-

Создать пару ключей

GccaHash

-

Вычислить хэш-функцию блока данных

GccaGetRandom

-

Сгенерировать случайное число

GcaSetTimeout

-

Установить максимально разрешенное время работы загружаемого кода

GcaCodeGetInfo

-

Запросить информацию из дескриптора загружаемого кода

Лицензирование приложений по времени работы (для ключей Time):

Ключи Guardant Time/Time Net/Code Time обладают встроенными часами реального времени (Real-Time Clock, RTC), что позволяет ограничивать астрономическое время работы приложения путем установки временных зависимостей от аппаратных алгоритмов ключа. Для работы с возможностями, которые присущи только ключам с RTC, существуют специальные функции Guardant API:

Название функции(метода)

Код доступа

Краткое описание

GrdSetTime

Private Master

Установить время микросхемы таймера ключа

GrdGetTime

Private Read

Получить время таймера ключа

GrdPI_GetTimeLimit

Private Read

Получить оставшееся время работы алгоритма

GrdMakeSystemTime

Не нужен

Заполнить поля структуры TgrdSystemTime

GrdSplitSystemTime

Не нужен

Получить значение полей структуры TgrdSystemTime

Удаленное обновление ключей (технология Trusted Remote Update):

Технология удаленного обновления Trusted Remote Update может быть реализована не только при помощи утилит, входящих в Комплект разработчика. При желании разработчики могут встраивать поддержку этой технологии непосредственно в свои приложения, используя набор предназначенных для этой цели функций:

Название функции(метода)

Код доступа

Краткое описание

GrdTRU_SetKey

Private Master

Инициализировать память электронного ключа и записать секретный ключ TRU

GrdTRU_GenerateQuestion

Private Read

Сгенерировать число-вопрос

GrdTRU_GenerateQuestionEx

Private Read

Расширенная версия GrdTRU_GenerateQuestion

GrdTRU_DecryptQuestion

Private Read

Декодировать и проверить подлинность числа-вопроса

GrdTRU_DecryptQuestionEx

Private Read

Расширенная версия GrdTRU_DecryptQuestion

GrdTRU_SetAnswerProperties

Не нужен

Установить параметры числа-ответа

GrdTRU_EncryptAnswer

Private Read

Сгенерировать и кодировать число-ответ

GrdTRU_EncryptAnswerEx

Private Read

Расширенная версия GrdTRU_EncryptAnswer

GrdTRU_ApplyAnswer

Private Read

Записать число-ответ в ключ Guardant

Удаленное обновление ключей Time:

Функции, реализующие технологию Trusted Remote Update для ключей с часами реального времени (Guardant Time, Guardant Time Net, Guardant Code Time) имеют некоторые отличия от своих аналогов для обычных ключей,

и поэтому выделяются в особую подгруппу:

Название функции(метода)

Код доступа

Краткое описание

GrdTRU_GenerateQuestionTime

Private Read

Сгенерировать зашифрованное число-вопрос

GrdTRU_DecryptQuestionTimeEx

Private Read

Расширенная версия GrdTRU_GenerateQuestionTime

GrdTRU_DecryptQuestionTime

Private Read

Расшифровать и проверить подлинностьчисла-вопроса

GrdTRU_GenerateQuestionTimeEx

Private Read

Расширенная версия GrdTRU_DecryptQuestionTime

Монопольная работа с ключом:

Функции(методы) для монопольной работы с ключом позволяют заблокировать электронный ключ на время выполнения операций, который требуют вышеупомянутого режима работы с ним, а также разблокировать ключ после совершения операций связанных с этим режимом.

Название функции(метода)

Код доступа

Краткое описание

GrdLock

Private Read

Заблокировать ключ на время выполнения операций, требующих монопольного режима работы с ключом

GrdUnlock

Private Read

Разблокировать электронный ключ

Функции Guardant API для управления драйверами

Для того чтобы инсталлировать, деинсталлировать и настраивать драйверы Guardant из собственных приложений можно использовать функции управления драйверами, которые реализованы в виде динамически загружаемой библиотеки.

Название функции

Краткое описание

GrdDrvInstall

Инсталлировать драйверы Guardant

GrdDrvUnInstall

Деинсталлировать драйверы Guardant

GrdDrvIsInstalled

Проверить наличие драйверов Guardant в системе

GrdDrvGetVersionEx

Получить десятичное значение версии установленного драйвера Guardant

GrdDrvGetVersion

Устаревш. Получить версию драйверов Guardant, установленных в системе

GrdDrvSetPortUseState

Установить режимы использования порта

GrdDrvGetPortUseState

Получить текущие установленные режимы использования порта

GrdDrvSetPrnPortTimeOut

Установить значение таймаута для LPT порта

GrdDrvGetPrnPortTimeOut

Получить текущее установленное значение таймаута для LPT порта

GrdDrvSetPortProperties

Установить параметры работы с LPT портом

GrdDrvGetPortProperties

Получить текущие установленные параметры работы с LPT портом

GrdDrvSetPortPropertiesAuto

Установить параметры работы с LPT портом по умолчанию

GrdDrvGetSystemInfo

Получить системную информацию о конфигурации LPT и USB-портов

Устаревшие функции (методы):

Функции GrdCodeInitGrdEncode и GrdDecode были предназначены для работы с устаревшими ключами Guardant Stealth. Сейчас эти функции поддерживаются исключительно ради совместимости и строго не рекомендуются к использованию.

Функции GrdTransform, GrdHash и GrdCrypt не рекомендуются к использованию, вместо них предлагаются расширенные функции GrdTransformEx, GrdCryptEx, GrdHashEx предназначенные для работы со всем современным ассортиментом ключей Guardant.

Название функции(метода)

Код доступа

Краткое описание

GrdDecGP

Private Read+ PrivateWrite

Декрементировать счетчик GP

GrdTransform

Private Read

Преобразовать данные аппаратно- или программно-реализованным алгоритмом

GrdCrypt

Private Read

Закодировать/раскодировать данные аппаратно или программно-реализованным алгоритмом

GrdHash

Private Read

Вычислить значение хэш-функции программно или аппаратно-реализованным алгоритмом

GrdCodeInit

PrivateRead

Инициализировать пароль быстрого взаимообратного преобразования

GrdEnCode

не нужен

Закодировать данные быстрым взаимообратным преобразованием

GrdDeCode

не нужен

Раскодировать данные быстрым взаимообратным преобразованием