Функция(метод) GrdTRU_ApplyAnswer производит отправку зашифрованного ответа в ключ для выполнения завершающей фазы удаленного программирования при использовании технологии Trusted Remote Update.

int GRD_API GrdTRU_ApplyAnswer (	
  HANDLE hGrd,
  void *pAnswer,
  DWORD dwAnswerSize
);	

hGrd

хэндл, через который будет выполнена данная операция. Электронный ключ, к которому "логинится" данный хэндл, должен содержать 128-битный секретный ключ шифрования TRU, прошитый функцией GrdTRU_SetKey на этапе предпродажной подготовки, а также ранее сгенерированное число-вопрос

pAnswer

буфер, содержащий ответ, подготовленный и зашифрованный функцией GrdTRU_EncryptAnswer

dwAnswerSize

длина буфера, содержащего ответ

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

GrdE_SystemDataCorrupted

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

GrdE_NoQuestion

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

GrdE_InvalidData

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

GrdE_QuestionOK

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

GrdE_UpdateNotComplete

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

GrdE_InvalidHash

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

 

Набор ошибок Guardant API

Функция GrdTRU_ApplyAnswer производит отправку зашифрованного ответа, сгенерированного функцией GrdTRU_EncryptAnswer в ключ для выполнения завершающей фазы удаленного программирования. Ответ представляет собой последовательность команд и набор данных, зашифрованных и защищенных от подмены.

Электронный ключ, в который поступает ответ, проверяет его подлинность и производит расшифровывание данных и команд.

При подтверждении подлинности и правильном расшифровывании данные, которые содержатся в ответе, записываются в память ключа. Если в данном сеансе удаленного программирования производится полное перепрограммирование памяти (изменение количества аппаратных алгоритмов, защищенных ячеек, изменение границ аппаратных запретов чтения/записи), перед записью память ключа инициализируется (см. GrdInit), производится запись данных, а затем производится установка количества аппаратных алгоритмов, защищенных ячеек и границ аппаратных запретов чтения/записи (см. GrdProtect). При этом функции GrdInit и GrdProtect не вызываются, а выполняются ключом в автономном режиме.

Число-вопрос с момента его генерации не должно изменяться или перегенерироваться. В противном случае весь сеанс удаленного программирования придется повторять заново.

public static GrdE GrdTRU_ApplyAnswer(Handle grdHandle, byte[] answer)

grdHandle [in] 

Тип: Handle

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

question [in]

Тип: byte [ ]

Буфер, который содержит ответ, подготовленный и зашифрованный функцией GrdTRU_EncryptAnswer

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

GrdE.SystemDataCorrupted

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

GrdE.NoQuestion

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

GrdE.InvalidData

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

GrdE.QuestionOK

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

GrdE.UpdateNotComplete

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

GrdE.InvalidHash

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

 

Набор ошибок Guardant API


Метод GrdTRU_ApplyAnswer производит отправку зашифрованного ответа, сгенерированного методом GrdTRU_EncryptAnswer в ключ для выполнения завершающей фазы удаленного программирования. Ответ представляет собой последовательность команд и набор данных, зашифрованных и защищенных от подмены.

Электронный ключ, в который поступает ответ, проверяет его подлинность и производит расшифровывание данных и команд.

При подтверждении подлинности и правильном расшифровывании данные, которые содержатся в ответе, записываются в память ключа. Если в данном сеансе удаленного программирования производится полное перепрограммирование памяти (изменение количества аппаратных алгоритмов, защищенных ячеек, изменение границ аппаратных запретов чтения/записи), перед записью память ключа инициализируется (см. GrdInit), производится запись данных, а затем производится установка количества аппаратных алгоритмов, защищенных ячеек и границ аппаратных запретов чтения/записи (см. GrdProtect). При этом методы GrdInit и GrdProtect не вызываются, а выполняются ключом в автономном режиме.

Число-вопрос с момента его генерации не должно изменяться или перегенерироваться. В противном случае весь сеанс удаленного программирования придется повторять заново.

 public static GrdE GrdTRU_ApplyAnswer(Handle grdHandle, byte[] answer)

grdHandle [in] 

Тип: Handle

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

question [in]

Тип: byte [ ]

Буфер, который содержит ответ, подготовленный и зашифрованный функцией GrdTRU_EncryptAnswer

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

GrdE.SystemDataCorrupted

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

GrdE.NoQuestion

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

GrdE.InvalidData

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

GrdE.QuestionOK

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

GrdE.UpdateNotComplete

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

GrdE.InvalidHash

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

 

Набор ошибок Guardant API


Метод GrdTRU_ApplyAnswer производит отправку зашифрованного ответа, сгенерированного методом GrdTRU_EncryptAnswer в ключ для выполнения завершающей фазы удаленного программирования. Ответ представляет собой последовательность команд и набор данных, зашифрованных и защищенных от подмены.

Электронный ключ, в который поступает ответ, проверяет его подлинность и производит расшифровывание данных и команд.

При подтверждении подлинности и правильном расшифровывании данные, которые содержатся в ответе, записываются в память ключа. Если в данном сеансе удаленного программирования производится полное перепрограммирование памяти (изменение количества аппаратных алгоритмов, защищенных ячеек, изменение границ аппаратных запретов чтения/записи), перед записью память ключа инициализируется (см. GrdInit), производится запись данных, а затем производится установка количества аппаратных алгоритмов, защищенных ячеек и границ аппаратных запретов чтения/записи (см. GrdProtect). При этом методы GrdInit и GrdProtect не вызываются, а выполняются ключом в автономном режиме.

Число-вопрос с момента его генерации не должно изменяться или перегенерироваться. В противном случае весь сеанс удаленного программирования придется повторять заново.