{dojo-tabs:theme=tundra|id=1}
{dojo-tab:title=C|selected=true}
*C*
int GRD_API GrdTRU_SetAnswerProperties(
HANDLE hGrd,
DWORD dwTRU_Flags,
DWORD dwReserved,
DWORD dwWrProt,
DWORD dwRdProt,
DWORD dwNumFunc,
DWORD dwTableLMS,
DWORD dwGlobalFlags,
void *pReserved
); |
|
{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} | Входные параметры | 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) | |
|
| Стандартный набор Expand |
---|
| Функция 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 параметр не используется. |
|
Card |
---|
| Code Block |
---|
| 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 |
Expand |
---|
title | Возвращаемое значение метода |
---|
| Возможные ошибки
|
Expand |
---|
| Метод GrdTRU_ SetAnswerProperties выполняет подготовительные операции для выполнения операций Init и Protect на удаленном ключе при использовании Trusted Remote Update. Этот метод необходимо использовать в тех случаях, когда при помощи удаленного программирования планируется полная реорганизация памяти ключа. Полное перепрограммирование памяти выполняется в тех случаях, когда нужно изменить количество защищенных ячеек или алгоритмов, либо полностью изменить структуру памяти ключа. Метод GrdTRU_SetAnswerProperties вызывается на этапе подготовки данных для удаленного программирования обязательно после вызова метода GrdTRU_DecryptQuestion и перед вызовом метода GrdTRU_EncryptAnswer. Параметры GrdTRU_SetAnswerProperties по смыслу соответствуют параметрам GrdProtect, поскольку операции Init и Protect при реорганизации памяти ключа в процессе удаленного программирования будут выполняться. По сути, GrdTRU_SetAnswerProperties устанавливает параметры для будущего выполнения операции Init и Protect. Параметр globalFlags имеет смысл только для ключей Guardant Sign/Time. Для Guardant Stealth III/Net III параметр не используется. |
|
Card |
---|
| Code Block |
---|
| public static GrdE GrdTRU_SetAnswerProperties(Handle grdHandle, GrdTRU truFlags, int wrProt, int rdProt,
int numFunc, int tableLMS, GrdGF globalFlags) |
Expand |
---|
| 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 |
Expand |
---|
title | Возвращаемое значение метода |
---|
| Возможные ошибки
|
Expand |
---|
| Метод GrdTRU_ SetAnswerProperties выполняет подготовительные операции для выполнения операций Init и Protect на удаленном ключе при использовании Trusted Remote Update. Этот метод необходимо использовать в тех случаях, когда при помощи удаленного программирования планируется полная реорганизация памяти ключа. Полное перепрограммирование памяти выполняется в тех случаях, когда нужно изменить количество защищенных ячеек или алгоритмов, либо полностью изменить структуру памяти ключа. Метод GrdTRU_SetAnswerProperties вызывается на этапе подготовки данных для удаленного программирования обязательно после вызова метода GrdTRU_DecryptQuestion и перед вызовом метода GrdTRU_EncryptAnswer. Параметры GrdTRU_SetAnswerProperties по смыслу соответствуют параметрам GrdProtect, поскольку операции Init и Protect при реорганизации памяти ключа в процессе удаленного программирования будут выполняться. По сути, GrdTRU_SetAnswerProperties устанавливает параметры для будущего выполнения операции Init и Protect. Параметр globalFlags имеет смысл только для ключей Guardant Sign/Time. Для Guardant Stealth III/Net III параметр не используется. |
|
| Пример | Пример для используемого средства разработки см. в директории: "\%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\" |