You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

Функция 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)

     

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

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

    grdHandle [in] 

    Тип: Handle

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

    question [in]

    Тип: byte [ ]

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

     

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

     

     

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

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

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

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

    • No labels