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

Compare with Current View Page History

« Previous Version 7 Next »

Функция GrdTRU_SetAnswerProperties подготавливает данные для выполнения операции Protect на удаленном ключе при использовании Trusted Remote Update.

    int GRD_API GrdTRU_SetAnswerProperties(	
      HANDLE hGrd,
      DWORD dwTRU_Flags,
      DWORD dwReserved,
      DWORD dwWrProt,
      DWORD dwRdProt,
      DWORD dwNumFunc,
      DWORD dwTableLMS,
      DWORD dwGlobalFlags,
      void	*pReserved
    );	

    hGrd

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

    dwTRU_Flags

    комбинация флагов GrdTRU_Flags_XXX, указывающих, выполнять ли операции Init и Protect при удаленном программировании. Используются только при полной реорганизации памяти удаленного ключа (изменение количества алгоритмов, защищенных ячеек, адресов аппаратных запретов и т.п.). Иначе параметр должен быть равен 0

    GrdTRU_Flags_Init

    Выполнять операцию Init перед обновлением памяти ключа

    GrdTRU_Flags_Protect

    Выполнять операцию Protect после обновления памяти ключа

    dwReserved

    зарезервировано. Значение должно быть равно 0

    dwWrProt

    SAM-адрес (в байтах) первого слова UAM-памяти ключа, доступного для записи. Адрес должен быть четным, в противном случае возвращается ошибка GrdE_InvalidArg

    dwRdProt

    SAM-адрес (в байтах) первого слова UAM-памяти ключа, доступного для чтения. Адрес должен быть четным, в противном случае возвращается ошибка GrdE_InvalidArg

    dwNumFunc

    количество аппаратных алгоритмов и защищенных ячеек (Protected Item), включая таблицу лицензий LMS, дескрипторы которых записаны в память ключа

    dwTableLMS

    Для сетевых ключей при использовании таблицы лицензий: номер защищенной ячейки, в которой хранится таблица лицензий LMS. Если LMS не используется или ключ локальный, значение должно быть равно 0

    dwGlobalFlags

    Описание флагов dwGlobalFlags:

    GrdGF_ProtectTime

    1

    Блокировка вызова функции GrdSetTime. Автоматически выставляется при программировании ключа из GrdUtil. Если данный флаг был выставлен, то изменить время микросхемы таймера невозможно без перезаписи маски

    GrdGF_HID

    2

    Ключ работает в HID-режиме

    GrdGF_OnlyOneSessKey

    4

    Единственный сессионный ключ для Guardant API. При установленном флаге будет работоспособна только одна копия приложения, защищенного Guardant API

    GrdGF_2ndSessKey

    8

    Единственный сессионный ключ для автозащиты. При установленном флаге будет работоспособна только одна копия приложения, накрытого автозащитой

    pReserved

    зарезервировано. Значение должно быть равно NULL

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

    GrdE_SystemDataCorrupted

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

    GrdE_NoQuestion

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

    GrdE_InvalidData

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

    GrdE_QuestionOK

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

    GrdE_UpdateNotComplete

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

    GrdE_InvalidHash

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

     

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

    public static GrdE GrdTRU_SetAnswerProperties(Handle grdHandle, GrdTRU truFlags, uint wrProt, uint rdProt,
    	int numAlg, int tableLMS, GrdGF globalFlags)
    

    grdHandle [in] 

    Тип: Handle

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

    truFlags [in]

    Тип: GrdTRU

    Комбинация флагов GrdTRU, которая указывает на то, будут ли выполнены операции Init и Protect при удаленном программировании.

    wrProt [in]

    Тип: uint

    SAM- адрес(в байтах) первого слова UAM-памяти ключа, которое доступно для записи. Адрес должен быть четным.

    rdProt [in]

    Тип: uint

    SAM- адрес(в байтах) первого слова UAM-памяти ключа, которое доступно для чтения. Адрес должен быть четным.

    numAlg [in]

    Тип: int

    Количество аппаратных алгоритмов и защищенных ячеек (Protected Item), включая таблицу лицензий LMS, дескрипторы которых записаны в память ключа.

    tableLMS [in]

    Тип: int

    Для сетевых ключей при использовании таблицы лицензий: номер защищенной ячейки, в которой хранится таблица лицензий LMS.

    globalFlags [in]

    Тип: GrdGF

    Содержание флагов GrdGF

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

    GrdE_SystemDataCorrupted

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

    GrdE_NoQuestion

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

    GrdE_InvalidData

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

    GrdE_QuestionOK

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

    GrdE_UpdateNotComplete

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

    GrdE_InvalidHash

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

     

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


    public static GrdE GrdTRU_SetAnswerProperties(Handle grdHandle, GrdTRU truFlags, int wrProt, int rdProt,
    	int numFunc, int tableLMS, GrdGF globalFlags)

    grdHandle [in] 

    Тип: Handle

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

    truFlags [in]

    Тип: GrdTRU

    Комбинация флагов GrdTRU, которая указывает на то, будут ли выполнены операции Init и Protect при удаленном программировании.

    wrProt [in]

    Тип: int

    SAM- адрес(в байтах) первого слова UAM-памяти ключа, которое доступно для записи. Адрес должен быть четным.

    rdProt [in]

    Тип: int

    SAM- адрес(в байтах) первого слова UAM-памяти ключа, которое доступно для чтения. Адрес должен быть четным.

    numFunc [in]

    Тип: int

    Количество аппаратных алгоритмов и защищенных ячеек (Protected Item), включая таблицу лицензий LMS, дескрипторы которых записаны в память ключа.

    tableLMS [in]

    Тип: int

    Для сетевых ключей при использовании таблицы лицензий: номер защищенной ячейки, в которой хранится таблица лицензий LMS.

    globalFlags [in]

    Тип: GrdGF

    Содержание флагов GrdGF

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

    GrdE_SystemDataCorrupted

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

    GrdE_NoQuestion

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

    GrdE_InvalidData

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

    GrdE_QuestionOK

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

    GrdE_UpdateNotComplete

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

    GrdE_InvalidHash

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

     

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


    Функция GrdTRU_ SetAnswerProperties выполняет подготовительные операции для выполнения операций Init и Protect на удаленном ключе при использовании Trusted Remote Update.

    Эту функцию необходимо использовать в тех случаях, когда при помощи удаленного программирования планируется полная реорганизация памяти ключа. Полное перепрограммирование памяти выполняется в тех случаях, когда нужно изменить количество защищенных ячеек или алгоритмов, либо полностью изменить структуру памяти ключа.

    Функция GrdTRU_SetAnswerProperties вызывается на этапе подготовки данных для удаленного программирования обязательно после вызова функции GrdTRU_DecryptQuestion и перед вызовом функции GrdTRU_EncryptAnswer.

    Параметры GrdTRU_SetAnswerProperties по смыслу соответствуют параметрам GrdProtect, поскольку операции Init и Protect при реорганизации памяти ключа в процессе удаленного программирования будут выполняться. По сути, GrdTRU_SetAnswerProperties устанавливает параметры для будущего выполнения операции Init и Protect.

    Параметр dwGlobalFlags имеет смысл только для ключей Guardant Sign/Time. Для Guardant Stealth III/Net III параметр не используется.

    • No labels