Versions Compared

Key

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

...

Deck of Cards
id001
Card
defaulttrue
labelC
Code Block
languagecpp
int GRD_API GrdTRU_SetAnswerProperties(	
  HANDLE hGrd,
  DWORD dwTRU_Flags,
  DWORD dwReserved,
  DWORD dwWrProt,
  DWORD dwRdProt,
  DWORD dwNumFunc,
  DWORD dwTableLMS,
  DWORD dwGlobalFlags,
  void	*pReserved
);	
Expand
titleПараметры функции

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

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

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

GrdE_.SystemDataCorrupted

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

GrdE_.NoQuestion

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

GrdE_.InvalidData

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

GrdE_.QuestionOK

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

GrdE_.UpdateNotComplete

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

GrdE_.InvalidHash

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

 

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

Expand
titleОписание

Функция 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
labelC#
Code Block
languagec#
public static GrdE GrdTRU_SetAnswerProperties(Handle grdHandle, GrdTRU truFlags, uint wrProt, uint rdProt,
	int numAlg, int tableLMS, GrdGF globalFlags)
Expand
titleПараметры метода

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Возвращаемое значение метода

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

GrdE_SystemDataCorrupted

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

GrdE_NoQuestion

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

GrdE_InvalidData

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

GrdE_QuestionOK

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

GrdE_UpdateNotComplete

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

GrdE_InvalidHash

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

 

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


Expand
titleОписание

Функция 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
labelJava
Code Block
languagejava
public static GrdE GrdTRU_SetAnswerProperties(Handle grdHandle, GrdTRU truFlags, int wrProt, int rdProt,
	int numFunc, int tableLMS, GrdGF globalFlags)
Expand
titleПараметры метода

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Возвращаемое значение метода

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

GrdE_SystemDataCorrupted

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

GrdE_NoQuestion

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

GrdE_InvalidData

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

GrdE_QuestionOK

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

GrdE_UpdateNotComplete

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

GrdE_InvalidHash

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

 

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


Expand
titleОписание

Функция 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 параметр не используется.