Versions Compared

Key

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

Функция GrdTRU_GenerateQuestion генерирует зашифрованное число-вопрос для удаленного программирования, использующего технологию Trusted Remote Update. Эта функция не подходит для ключей Guardant Code, при работе с которыми нужно использовать функцию GrdTRU_GenerateQuestionEx.

 

Входные параметрыВыходные параметры
Deck of Cards
id001
Wiki Markup
{dojo-tabs:theme=tundra|id=1} {dojo-tab:title=C|selected=true} *C*
Card
defaulttrue
labelC
Code Block
languagecpp
int GRD_API GrdTRU_GenerateQuestion(	
  HANDLE hGrd,
  void *pQuestion,
  DWORD *pdwID,
  DWORD *pdwPublic,
  void *pHash
);	
{dojo-tab} {dojo-tab:title=C#|selected=true} *C#* {dojo-tab} {dojo-tab:title=Visual Basic (Declaration)} *Visual Basic* {dojo-tab} {dojo-tab:title=Visual C++} *Visual C++* {dojo-tab} {dojo-tabs}
Expand
title
Параметры функции

hGrd

хэндл, через который будет выполнена данная операция

pQuestion

буфер, куда будет помещен сгенерированный вопрос. Размер буфера 8 байт

pdwID

буфер, куда будет помещено значение ID ключа, для которого сгенерирован вопрос. Длина буфера 4 байта

pdwPublic

буфер, куда будет помещено численное значение Public code ключа, для которого сгенерирован вопрос. Длина буфера 4 байта

pHash

буфер, куда будет помещено значение MAC (Message Authentication Code - кода аутентификации сообщения) для верификации вопроса. Длина буфера 8 байт

Expand
title
Возвращаемое значение функции

Возможные ошибки

GrdE_SystemDataCorrupted

Системные данные TRU повреждены. (Секретный ключ удаленного программирования отсутствует)

GrdE_NoQuestion

Число-вопрос не было сгенерировано или было перегенерировано до записи числа ответа

GrdE_InvalidData

Неверный формат данных для удаленного программирования

GrdE_QuestionOK

Число-вопрос уже было сгенерировано, ключ ожидает данных для удаленного программирования

GrdE_UpdateNotComplete

Ошибка при записи данных удаленного программирования. Операция не была завершена

GrdE_InvalidHash

Неверное значение MAC (Message Authentication Code)

 

Стандартный набор ошибок

Card
labelC#
Code Block
languagec#
public static GrdE GrdTRU_GenerateQuestion(Handle grdHandle, out byte[] question, out uint id, out uint publicCode, out byte[] hash)


Expand
titleПараметры метода

 

Expand
titleВозвращаемое значение метода

 

Card
labelJava
Code Block
languagejava
 
Expand
titleПараметры метода

 

Expand
titleВозвращаемое значение метода

 

Expand
titleОписание

Функция GrdTRU_GenerateQuestion генерирует зашифрованное число-вопрос и инициализирует процесс для удаленного программирования, использующего технологию Trusted Remote Update.

Функция GrdTRU_GenerateQuestion вызывается на компьютере удаленного пользователя и генерирует число-вопрос pQuestion, защищенное от подделки кодом аутентификации сообщения (MAC) pHash. MAC вырабатывается аппаратным алгоритмом на секретном ключе, который должен быть предварительно записан при помощи функции GrdTRU_SetKey. MAC используется для того, чтобы нельзя было подделать число-вопрос, ID или Public Code электронного ключа.

После того, как число-вопрос сгенерировано, конечный пользователь должен передать разработчику все сгенерированные функцией GrdTRU_GenerateQuestion данные: собственно число-вопрос pQuestion, ID ключа pdwID, Public code pdwPublic и MAC pHash. С момента генерации числа-вопроса ключ переходит в состояние ожидания числа-ответа.

Expand
titleПример

Пример для используемого средства разработки см. в директории:

"\%Program Files%\Guardant\Guardant 6\%PublicCode%\Samples\x86\Win32\General Guardant API\"
или
"\%Program Files%\Guardant\Guardant 6\%Public Code%\Samples\x64\Win64\General Guardant API\"