...
Основные операции Guardant API
...
:
Основные функции(методы) Guardant API Функции общего назначения позволяют осуществлять сервисные операции, связанные с инициализацией , настройкой и деинициализацией Guardant API, а также выполнять основные операции с электронными ключами:
- Искать электронный ключ, удовлетворяющий заданным условиям поиска
- Инициализировать память ключа
- Читать данные из памяти ключа
- Записывать данные в память ключа
- Устанавливать запреты на чтение/запись памяти ключа
- Преобразовывать информацию при помощи аппаратных алгоритмов ключа
Перечень функций Guardant API общего назначения:
защищенным контейнером:
- Создавать и закрывать хэндл защищенного контейнера
- Инициализировать и деиницилизировать память ключа
- Получать информацию из защищенного контейнера, в том числе и о последней ошибке
- Преобразовывать получаемую информациию в текстовые соощения
Перечень основных операций Guardant API:
Название функции(метода) |
---|
Код доступа | Краткое описание |
---|
GrdStartup
Не нужен
Инициализировать Guardant API
Не нужен | Инициализировать GrdAPI + задать путь к GnClient.ini | |
Не нужен | Деинициализировать Guardant API | |
Не нужен | Получить информацию о последней |
ошибке из защищенного контейнера | ||
Не нужен | Преобразовать код ошибки в текстовое сообщение | |
Не нужен | Получить информацию из защищенного контейнера | |
Не нужен | Проверить валидность хэндла защищенногоконтейнера | |
Не нужен | Создать хэндл защищенного контейнера | |
Не нужен | Закрыть хэндл защищенного контейнера |
Поиск и проверка наличия ключа:
Функции(методы) данного раздела позволяют найти электронный ключ, который удовлетворяет критериям поиска. Если такой ключ имеется то на нем можно зарегистрироваться.
...
Название функции(метода) | Код доступа | Краткое описание |
---|---|---|
Public и Read обязательно, остальные по необходимости | Поместить коды доступа в защищенный контейнер |
Не нужен
Установить режимы работы Guardant API
Не нужен | Установить режимы поиска электронных ключей | |
Private Read | Найти электронный ключ, удовлетворяющий критериям поиска | |
Private Read | Зарегистрироваться на электронном ключе | |
Private Read | Снять регистрацию с электронного ключа |
GrdLock
Private Read
Заблокировать ключ на время выполнения операций, требующих монопольного режима работы с ключом
GrdUnlock
Private Read
Разблокировать электронный ключ
Private Read | Проверить наличие электронного |
GrdDecGP
Private Read+ PrivateWrite
Декрементировать счетчик GP
GrdRead
Private Read
Прочитать данные из памяти электронного ключа
GrdWrite
Private Write
Записать данные в память электронного ключа
GrdSign
Private Read
Вычислить ЭЦП массива данных
GrdVerifySign
Не нужен
Проверить ЭЦП массива данных
GrdSeek
Не нужен
Переместить указатель на текущий адрес памятиэлектронного ключа
GrdInit
Private master
Инициализировать память электронного ключа
GrdProtect
Private master
Установить аппаратные запреты чтения/записи и записать количество аппаратных алгоритмов и защищенных ячеек
GrdTransform
Private Read
Преобразовать данные аппаратно- или программно-реализованным алгоритмом
GrdTransformEx
Private Read
Преобразовать данные аппаратно- или программно-реализованным алгоритмом
GrdCrypt
Private Read
Закодировать/раскодировать данные аппаратноили программно-реализованным алгоритмом
GrdCryptEx
Private Read
Закодировать/раскодировать данные аппаратноили программно-реализованным алгоритмом
GrdHash
Private Read
Вычислить значение хэш-функции программноили аппаратно-реализованным алгоритмом
GrdHashEx
Private Read
Расширенный вариант GrdHash
GrdCodeInit
PrivateRead
Инициализировать пароль быстрого взаимообратного преобразования
GrdEnCode
не нужен
Закодировать данные быстрым взаимообратнымпреобразованием
GrdDeCode
не нужен
Раскодировать данные быстрым взаимообратнымпреобразованием
GrdCRC
не нужен
Вычислить CRC
Функции(методы) общего назначения:
Функции(методы) общего назначения позволяют осуществлять сервисные операции, связанные с инициализацией и деинициализацией Guardant API, а также выполнять основные операции с защищенным контейнером:
...
ключа |
...
Перечень функций Guardant API общего назначения:
Название функции
Код доступа
Краткое описание
Не нужен
Инициализировать GrdAPI + задать путь к GnClient.ini
Не нужен
Деинициализировать Guardant API
Не нужен
Получить информацию о последней ошибке из защищенного контейнера
Не нужен
Преобразовать код ошибки в текстовое сообщение
Не нужен
Получить информацию из защищенного контейнера
Не нужен
Проверить валидность хэндла защищенногоконтейнера
Не нужен
Создать хэндл защищенного контейнера
Не нужен
Закрыть хэндл защищенного контейнера
Работа с памятью ключа:
Функции(методы) работы с памятью ключа позволяют осуществлять сервисные операции, связанные с инициализацией и защитой памяти электронного ключаI, а также выполнять операции связанные с чтением информации из памяти электронного ключа и записью необходимых данных в его память.
Название функции(метода) | Код доступа | Краткое описание |
---|---|---|
Не нужен | Установить режимы работы Guardant API | |
Private Read | Прочитать данные из памяти электронного ключа | |
Private Write | Записать данные в память электронного ключа | |
Не нужен | Переместить указатель на текущий адрес памяти электронного ключа | |
Private master | Инициализировать память электронного ключа | |
Private master | Установить аппаратные запреты чтения/записи и записать количество аппаратных алгоритмов и защищенных ячеек |
...
Работа с аппаратными и программно-реализованными алгоритмами:
Функции(методы) для монопольной работы с ключом позволяют заблокировать электронный ключ на время выполнения операций, который требуют вышеупомянутого режима работы с ним, а также разблокировать ключ после совершения операций связанных с этим режимом.
Название функции | Код доступа | Краткое описание |
---|---|---|
Private Read | Заблокировать ключ на время выполнения операций, требующих монопольного режима работы с ключом | |
Private Read | Разблокировать электронный ключ |
Поиск и проверка наличия ключа:
этого раздела позволяют преобразовывать, кодировать и декодировать данные с помощью аппаратно- или программно-реализованных алгоритмов.
Они позволяют вычислить и проверить ЭЦП массива данных.
Название функции(метода) |
---|
Название функции
Код доступа
Краткое описание
Код доступа | Краткое описание |
---|
Public и Read обязательно, остальные по необходимости
Поместить коды доступа в защищенный контейнер
Не нужен
Установить режимы поиска электронных ключей
Private Read
Найти электронный ключ, удовлетворяющий критериям поиска
Private Read
Зарегистрироваться на электронном ключе
Private Read
Снять регистрацию с электронного ключа
Private Read
Проверить наличие электронного ключа
Работа с аппаратными и программно-реализованными алгоритмами:
Private Read | Преобразовать данные аппаратно- или программно-реализованным алгоритмом | |
Private Read | Закодировать/раскодировать данные аппаратноили программно-реализованным алгоритмом | |
Private Read | Расширенный вариант GrdHash | |
Private Read | Вычислить ЭЦП массива данных | |
Не нужен | Проверить ЭЦП массива данных | |
не нужен | Вычислить CRC |
Функции(методы) Guardant Code:
Работа с защищенными ячейками:
Для работы с защищенными ячейками существуют специальные функции(методы) Guardant API:
Название функции(метода) | Код доступа | Краткое описание |
---|---|---|
Private Read и пароль на данную операцию, если он задан в ключе | Активировать алгоритм / защищенную ячейку | |
Private Read и пароль на данную операцию, если он задан в ключе | Деактивировать аппаратный алгоритмили защищенную ячейку | |
Private Read и пароль на данную операцию, если он задан в ключе | Прочитать данные из защищенной ячейки | |
Private Read и пароль, на данную операцию, если он задан в ключе | Обновить данные в защищенной ячейке | |
Private Read | Получить значение счетчика запусков алгоритма |
Использование технологии загружаемого кода (ключи Guardant Code):
Технология Загружаемый Код может быть реализована не только при помощи утилит, входящих в Комплект разработчика. При желании разработчики могут встраивать поддержку этой технологии непосредственно в свои приложения, используя набор предназначенных для этой цели функций:
Название функции(метода) |
---|
Код доступа | Краткое описание | |
---|---|---|
Private Read | Загружает код приложения в формате GCEXE во flash- память ключа |
Private Read | Исполняет код, предварительно загруженный в ключ |
Private Read | Возвращает информацию из дескриптора загруженного кода |
Private Read | Задает режим работы ключей Guardant Code/Code Time через драйвер Guardant или в HID режиме |
Функции
...
внутренннего Guardant Code API
Технология Guardant Code API позволяет использовать сервисы микропрограммы ключа серии Code, вызывая их загружаемого кода (по аналогии, как операционная система предоставляет свои сервисы пользовательской программе посредством API). При желании разработчики могут встраивать поддержку этой технологии непосредственно в свои приложения, используя набор предназначенных для этой цели функций:
Название функции | Код доступа | Краткое описание |
---|
Private Master
Установить время микросхемы таймера ключа
- | Считать данные из памяти ключа | |
- | Записать данные в память ключа | |
- | Считать данные защищенной ячейки | |
- | Изменить данные защищенной ячейки или определителя алгоритма | |
- |
Получить время таймера ключа |
- | Получить оставшееся время работы алгоритма |
Не нужен
Заполнить поля структуры TgrdSystemTime
Не нужен
Получить значение полей структуры TgrdSystemTime
Функции(методы) для удаленного обновления ключей Time:
Название функции | Код доступа | Краткое описание |
---|---|---|
Private Read | Сгенерировать зашифрованное число-вопрос | |
Private Read | Расширенная версия GrdTRU_GenerateQuestionTime | |
Private Read | Расшифровать и проверить подлинностьчисла-вопроса | |
Private Read | Расширенная версия GrdTRU_DecryptQuestionTime |
Устаревшие функции (методы):
- | Получить значение счетчика запусков алгоритма | |
- | Получить код последней ошибки | |
- | Выполнить тест часов реального времени - RTC | |
- | Включить светодиод | |
- | Выключить светодиод | |
- | Завершить выполнение загруженного кода | |
- | Зашифровать/расшифровать блок данных | |
- | Вычислить ЭЦП массива данных | |
- | Проверить ЭЦП массива данных | |
- | Выполнить загружаемый код из другого участка загружаемого кода | |
- | Создать пару ключей | |
- | Вычислить хэш-функцию блока данных | |
- | Сгенерировать случайное число | |
- | Установить максимально разрешенное время работы загружаемого кода | |
- | Запросить информацию из дескриптора загружаемого кода |
Лицензирование приложений по времени работы (для ключей Time):
Ключи Guardant Time/Time Net/Code Time обладают встроенными часами реального времени (Real-Time Clock, RTC), что позволяет ограничивать астрономическое время работы приложения путем установки временных зависимостей от аппаратных алгоритмов ключа. Для работы с возможностями, которые присущи только ключам с RTC, существуют специальные функции Guardant API:
Название функции(метода) |
---|
Код доступа | Краткое описание |
---|
Private |
Декрементировать счетчик GP
Master | Установить время микросхемы таймера ключа |
Private Read |
Преобразовать данные аппаратно- или программно-реализованным алгоритмом
Получить время таймера ключа |
Private Read |
Закодировать/раскодировать данные аппаратноили программно-реализованным алгоритмом
Private Read
Вычислить значение хэш-функции программноили аппаратно-реализованным алгоритмом
PrivateRead
Инициализировать пароль быстрого взаимообратного преобразования
не нужен
Закодировать данные быстрым взаимообратнымпреобразованием
не нужен
Раскодировать данные быстрым взаимообратнымпреобразованием
...
Получить оставшееся время работы алгоритма | ||
Не нужен | Заполнить поля структуры TgrdSystemTime | |
Не нужен | Получить значение полей структуры TgrdSystemTime |
Удаленное обновление ключей (технология Trusted Remote Update):
Технология удаленного обновления Trusted Remote Update может быть реализована не только при помощи утилит, входящих в Комплект разработчика. При желании разработчики могут встраивать поддержку этой технологии непосредственно в свои приложения, используя набор предназначенных для этой цели функций:
Название функции(метода) | Код доступа | Краткое описание |
---|---|---|
Private Master | Инициализировать память электронного ключа и записать секретный ключ TRU | |
Private Read | Сгенерировать число-вопрос | |
Private Read | Расширенная версия GrdTRU_GenerateQuestion | |
Private Read | Декодировать и проверить подлинность числа-вопроса | |
Private Read | Расширенная версия GrdTRU_DecryptQuestion | |
Не нужен | Установить параметры числа-ответа | |
Private Read | Сгенерировать и кодировать число-ответ | |
Private Read | Расширенная версия GrdTRU_EncryptAnswer | |
Private Read | Записать число-ответ в ключ Guardant |
Удаленное обновление ключей Time:
Функции
...
, реализующие технологию Trusted Remote Update для ключей с часами реального времени (Guardant Time, Guardant Time Net, Guardant Code Time) имеют некоторые отличия от своих аналогов для обычных ключей,
и поэтому выделяются в особую подгруппу:
Для работы с защищенными ячейками существуют специальные функции Guardant API:
Название функции | Код доступа | Краткое описание |
---|---|---|
Private Read и пароль на данную операцию, если он задан в ключе | Активировать алгоритм / защищенную ячейку | |
Private Read и пароль на данную операцию, если он задан в ключе | Деактивировать аппаратный алгоритмили защищенную ячейку | |
Private Read и пароль на данную операцию, если он задан в ключе | Прочитать данные из защищенной ячейки | |
Private Read и пароль, на данную операцию, если он задан в ключе | Обновить данные в защищенной ячейке | |
Private Read | Получить значение счетчика запусков алгоритма |
Функции Guardant API для работы с ключами с RTC
Для работы с ключами, поддерживающими технологию Time, существуют специальные функции Guardant API:
Название функции
Код доступа
Краткое описание
GrdSetTime
Private Master
Установить время микросхемы таймера ключа
GrdGetTime
Private Read
Получить время таймера ключа
GrdPI_GetTimeLimit
Private Read
Получить оставшееся время работы алгоритма
GrdMakeSystemTime
Не нужен
Заполнить поля структуры TgrdSystemTime
GrdSplitSystemTime
Не нужен
Получить значение полей структуры TgrdSystemTime
Название функции(метода) | Код доступа | Краткое описание |
---|
Private Read | Сгенерировать зашифрованное число-вопрос | |
Private Read | Расширенная версия GrdTRU_GenerateQuestionTime | |
Private Read | Расшифровать и проверить подлинностьчисла-вопроса | |
Private Read | Расширенная версия GrdTRU_DecryptQuestionTime |
Функции Guardant API для работы с Trusted Remote Update
Технология удаленного обновления Trusted Remote Update может быть реализована не только при помощи утилит, входящих в Комплект разработчика. При желании разработчики могут встраивать поддержку этой технологии непосредственно в свои приложения, используя набор предназначенных для этой цели функций:
Монопольная работа с ключом:
Функции(методы) для монопольной работы с ключом позволяют заблокировать электронный ключ на время выполнения операций, который требуют вышеупомянутого режима работы с ним, а также разблокировать ключ после совершения операций связанных с этим режимом.
Название функции(метода) |
---|
Код доступа | Краткое описание |
---|
Private |
Инициализировать память электронного ключа и записать секретный ключ 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
Функции Guardant API для работы с ключами Guardant Code
См. Сервисные функции для работы с загружаемым кодом.
Внутреннее Guardant API Code для загружаемого кода
См. Guardant Code API.
Read | Заблокировать ключ на время выполнения операций, требующих монопольного режима работы с ключом | |
Private Read | Разблокировать электронный ключ |
Функции Guardant API для Функции Guardant API для управления драйверами
Для того чтобы инсталлировать, деинсталлировать и настраивать драйверы Guardant из собственных приложений можно использовать функции управления драйверами, которые реализованы в виде динамически загружаемой библиотеки.
Название функции | Краткое описание |
---|---|
Инсталлировать драйверы Guardant | |
Деинсталлировать драйверы Guardant | |
Проверить наличие драйверов Guardant в системе | |
Получить десятичное значение версии установленного драйвера Guardant | |
Устаревш. Получить версию драйверов Guardant, установленных в системе | |
Установить режимы использования порта | |
Получить текущие |
установленные режимы использования порта | |
Установить значение таймаута для LPT порта | |
Получить текущее установленное значение |
таймаута для LPT порта | |
Установить параметры работы с LPT портом | |
Получить текущие установленные параметры |
работы с LPT портом | |
Установить параметры работы с LPT портом по умолчанию | |
Получить системную информацию о |
конфигурации LPT и USB-портов |
Устаревшие функции (методы):
Функции GrdCodeInit, GrdEncode и GrdDecode были предназначены для работы с устаревшими ключами Guardant Stealth. Сейчас эти функции поддерживаются исключительно ради совместимости и строго не рекомендуются к использованию.
Функции GrdTransform, GrdHash и GrdCrypt не рекомендуются к использованию, вместо них предлагаются расширенные функции GrdTransformEx, GrdCryptEx, GrdHashEx предназначенные для работы со всем современным ассортиментом ключей Guardant.
Название функции(метода) | Код доступа | Краткое описание |
---|---|---|
Private Read+ PrivateWrite | Декрементировать счетчик GP | |
Private Read | Преобразовать данные аппаратно- или программно-реализованным алгоритмом | |
Private Read | Закодировать/раскодировать данные аппаратно или программно-реализованным алгоритмом | |
Private Read | Вычислить значение хэш-функции программно или аппаратно-реализованным алгоритмом | |
PrivateRead | Инициализировать пароль быстрого взаимообратного преобразования | |
не нужен | Закодировать данные быстрым взаимообратным преобразованием | |
не нужен | Раскодировать данные быстрым взаимообратным преобразованием |
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
...