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_DecryptQuestionTimeEx( 
HANDLE  hGrd,
DWORD   dwAlgoNum_Decrypt,
DWORD   dwAlgoNum_Hash,
DWORD   dwLngQuestion,
void    *pQuestion,
DWORD   dwID,
DWORD   dwPublic,
QWORD   *pqwDongleTime,
QWORD   *pqwDeadTimes,
DWORD   dwDeadTimesNumbers,
DWORD   dwLngHash,
void    *pHash,
DWORD   dwMode,
DWORD   dwReserved,
void    *pReserved 
);	
Expand
titleПараметры функции

hGrd

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

dwAlgoNum_Decrypt

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

dwAlgoNum_Hash

номер аппаратного алгоритма, который будет использоваться для проверки подлинности числа-вопроса на основании MAC

dwLngQuestion

размер присланного удаленным пользователем параметра число-вопрос

pQuestion

буфер, содержащий присланное удаленным пользователем число-вопрос.

dwID

ID ключа удаленного пользователя, для которого будет произведена операция

dwPublic

численное значение Public Code ключа удаленного пользователя, для которого будет произведена операция

pqwDongleTime

зашифрованное значение времени ключа. 8 байт.

pqwDeadTimes

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

dwDeadTimesNumbers

количество 8 байтовых элементов в pqwDeadTimes

dwLngHash

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

pHash

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

dwMode

константа определяющая режим работы:

GrdTRU_CryptMode_GSII64

шифрование на базе GSII64 ( 8 байт), хеш на базе GSII64 (8 байт)

GrdTRU_CryptMode_AES128SHA256

шифрование на базе AES128(16 байт), хеш на базе SHA256(32 байт)

dwReserved

не используется. Параметр должен быть равен 0.

pReserved

не используется. Параметр должен быть равен NULL.

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

pQuestion

после выполнения функции в этот буфер возвращается расшифрованное число-вопрос. Длина буфера 8 байт

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

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_DecryptQuestionTimeEx(Handle grdHandle, GrdAlgNum algNumDecrypt, GrdAlgNum algNumHash, byte[] question,
	uint id, uint publicCode, ref ulong dongleTime, ulong[] deadTimes, int deadTimesNumbers, byte[] hash, GrdTRU truMode)


Expand
titleПараметры метода

 

Expand
titleВозвращаемое значение метода

 

Card
labelJava
Code Block
languagejava
 public static GrdE GrdTRU_DecryptQuestionTimeEx(Handle grdHandle, int algoNum_Decrypt, int algoNum_Hash, 
	byte[] question, int id, int publicCode, long[] dongleTime, long[] deadTimes, int deadTimesNumbers, byte[] hash, int mode)
Expand
titleПараметры метода

 

Expand
titleВозвращаемое значение метода

 

...