Versions Compared

Key

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

Функция GrdTRU_GenerateQuestionTime генерирует зашифрованное число-вопрос для удаленного программирования, использующего технологию Trusted Remote Update. Является аналогом функции GrdTRU_GenerateQuestion для ключа Guardant Time. Эта функция не подходит для ключей Guardant Code Time, при работе с которыми нужно использовать функцию GrdTRU_GenerateQuestionTimeEx.

Deck of Cards
id001
Card
defaulttrue
labelC
Code Block
languagecpp
int GRD_API GrdTRU_GenerateQuestionTime( 
		HANDLE	hGrd,				
		void	*pQuestion,			
		DWORD	*pdwID,			 
		DWORD	*pdwPublic,			
		QWORD   *pqwDongleTime,	
		DWORD	dwDeadTimesSize,	 
		QWORD	*pqwDeadTimes,		
		DWORD	*pdwDeadTimesNumbers,
		void	*pHash,			
		void	*pReserved		
	);	
Expand
titleПараметры функции

hGrd

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

pQuestion

буфер, куда будет помещен сгенерированный вопрос. Размер буфера 8 байт

pdwID

буфер, куда будет помещено значение ID ключа, для которого сгенерирован вопрос. Длина буфера 4 байта

pdwPublic

буфер, куда будет помещено численное значение Public code ключа, для которого сгенерирован вопрос. Длина буфера 4 байта

pqwDongleTime

зашифрованное время из микросхемы таймера. Длина буфера 8 байт

pdwPublic

буфер, куда будет помещено численное значение Public code ключа, для которого сгенерирован вопрос. Длина буфера 4 байта

dwDeadTimesSize

размер входного буфера pqwDeadTimes в байтах

pqwDeadTimes

зашифрованные значения времен жизни алгоритмов. По 8 байт

pdwDeadTimesNumbers

количество элементов, возвращаемых в pqwDeadTimes

pHash

буфер, куда будет помещено значение MAC ( Message Authentication Code - кода аутентификации сообщения) для верификации вопроса. Длина буфера 8 байт

pReserved

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

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

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

GrdE_SystemDataCorrupted

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

GrdE_NoQuestion

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

GrdE_InvalidData

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

GrdE_QuestionOK

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

GrdE_UpdateNotComplete

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

GrdE_InvalidHash

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

 

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

Card
labelC#
Code Block
languagec#
public static GrdE GrdTRU_GenerateQuestionTime(Handle grdHandle, out byte[] question, out uint id, out uint publicCode,
	out ulong dongleTime, ulong[] deadTimes, out int deadTimesNumbers, out byte[] hash)

Wiki Markup
{dojo-tabs:theme=tundra|id=1}
{dojo-tab:title=C|selected=true}
*C*
int GRD_API GrdTRU_GenerateQuestionTime( 
		HANDLE	hGrd,				
		void	*pQuestion,			
		DWORD	*pdwID,			 
		DWORD	*pdwPublic,			
		QWORD   *pqwDongleTime,	
		DWORD	dwDeadTimesSize,	 
		QWORD	*pqwDeadTimes,		
		DWORD	*pdwDeadTimesNumbers,
		void	*pHash,			
		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}

...