Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Если в загружаемом коде присутствуют функции Guardant API (например, в ключ переносится алгоритм, который раньше защищался ключами Guardant), то для большинства этих функций существуют аналоги в Guardant Code API, и портирование будет заключаться в смене префикса c GrdXXX на GcaXXX или GccaXXX.

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

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

GcaCrash()

Инициировать ошибку среды исполнения Guardant Code

GcaExit()

Выйти из загружаемого кода. В вызывающее приложение передается код возврата

GcaLedOn()

Включить светодиодный индикатор

GcaLedOff()

Выключить светодиодный индикатор

GcaRead()

Прочитать данные из EEPROM, аналогично GrdRead()

GcaWrite()

Записать данные в EEPROM, аналогично GrdWrite()

GcaPI_Read()

Прочитать данные из защищенной ячейки, аналогично GrdPI_Read()

GcaPI_Update()

Изменить данные защищенной ячейки, аналогично GrdPI_Update()

GcaPI_GetTimeLimit()

Получить время жизни защищенной ячейки, аналогично GrdPI_GetTimeLimit(). Для Guardant Code Time

GcaPI_GetCounter()

Получить значение счетчика оставшихся выполнений алгоритма, аналогично GrdPI_GetCounter()

GcaGetTime()

Получить текущее время из RTC ключа, аналогично GrdGetTime(). Для Guardant Code Time

GcaGetRTCQuality()

Проверить валидность значения RTC, аналогично GrdGetRTCQuality(). Для Guardant Code Time

GcaGetLastError()

Получить последний код ошибки, аналогично GrdGetLastError(). Возвращает код ошибки, которая произошла при последнем вызове функции Guardant Code API

GccaCryptEx()

Шифровать данные симметричным алгоритмом, аналогично GrdCryptEx(). Для программного алгоритма AES128 требуется другой размер контекста. Контекст должен быть выровнен по границе в 4 байта (!) применением макроса ALIGNED

GccaSign()

Вычислить ЭЦП, аналогично GrdSign(). Присутствует дополнительный параметр – ключ подписи и вариант вызова, работающий в обход таблицы дескрипторов

GccaVerifySign()

Проверить ЭЦП, аналогично GrdVerifySign()

GccaGenerateKeyPair()

Генерировать ключевую пару для алгоритма ЭЦП ECC160

GccaHash()

Вычислить хэш-функцию, аналогично GrdHash()

GccaGetRandom()

Генерировать случайное однобайтовое число

GcaSetTimeout

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

GcaCodeGetInfo

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

GcaCodeRun

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

title
Info
UI Text Box
typeinfo

Важно!

  1. Подробную информацию по функциям внутреннего Guardant Code API см. в Справочной системе по Guardant API
  2. Поскольку в Guardant Code не реализован алгоритм GSII64 и производные от него (HASH64, RAND64 и т. д.), возможно придется немного переработать существующую схему защиты на использование алгоритмов AES128 для шифрования и SHA256 для хэширования. Все остальные возможности предыдущих поколений ключей присутствуют и в Guardant Code.

...

Список сервисных функций Guardant API:

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

Код доступа

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

GrdCodeGetInfo

Private Read

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

GrdCodeLoad

Private Read

Записать GCEXE-файл, содержащий загружаемый код, во Flash-память ключа

GrdCodeRun

Private Read

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

GrdSetDriverMode

Private Read

Задать USB-режим работы ключа