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 GrdSign(
  HANDLE hGrd,			
  DWORD	dwAlgoNum,		
  DWORD	dwDataLng,		
  void *pData,			
  DWORD	dwSignResultLng,
  void *pSignResult,	
  void *pReserved
);	
Expand
titleПараметры функции

hGrd

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

dwAlgoNum

числовое имя аппаратного алгоритма электронной цифровой подписи

dwDataLng

длина массива данных (20 байт для ECC160)

pData

указатель на массив данных

dwSignResultLng

длина массива цифровой подписи (40 байт для ECC160)

pSignResult

указатель на массив цифровой подписи

pReserved

зарезервировано

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

GrdE_OK

нет ошибок

GrdE_NeedInitialization

требуется инициализация API (вызов GrdStartup)

GrdE_InvalidHandle

недействительный хэндл

GrdE_InvalidArg

недопустимый параметр при вызове функции

GrdE_NoServiceключ не поддерживает данную функцию

для алгоритма/ячейки сервис не предусмотрен

GrdE_AlgoNotFound

алгоритма с указанным числовым именем не существует

GrdE_CRCErrorFunc

ошибка CRC при выполнении функции

GrdE_GPis0

счетчик алгоритма достиг нулевого значения

Expand
titleОписание

Функция GrdSign позволяет вычислять цифровую подпись входного сообщения при помощи аппаратного алгоритма электронной цифровой подписи. Вычисление цифровой подписи выполняется алгоритмом с числовым именем, заданным в параметре dwAlgoNum. Этот алгоритм предварительно должен быть создан, в противном случае возвращается ошибка GrdE_AlgoNotFound. Если в дескрипторе алгоритма установлен флаг "уменьшение счетчика", то вычитание счетчика алгоритма происходит при каждом вызове GrdSign. При достижении счетчиком нулевого значения, возвращается ошибка GrdE_GPis0. Если при создании алгоритма или в процессе работы он был переведен в неактивное состояние, возвращается ошибка GrdE_InactiveItem.

Длина буфера данных задаётся параметром dwDataLng. Сам буфер данных должен находиться по адресу, указанному в параметре pData. Возвращаемая цифровая подпись находится по адресу pSignResult и имеет длину dwSignResultLng. Для алгоритма ECC160 длина массива данных и длина возвращаемой цифровой подписи должны быть  GrdECC160_MESSAGE_SIZE (20 байт) и GrdECC160_DIGEST_SIZE (40 байт) соответственно.

Card
labelC#
Code Block
languagec#
public static GrdE GrdSign(Handle grdHandle, GrdAlgNum algNum, byte[] data, out byte[] digestSign)
Expand
titleПараметры метода

grdHandle [in] 

Тип: Handle

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

algNum [in]

Тип: GrdAlgNum

Числовое имя аппаратного алгоритма.

data [in] 

Тип: byte [ ]

Указатель на массив данных.

digestSign [out] 

Тип: byte [ ]

Указатель на массив цифровой подписи.

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

GrdE.OK

нет ошибок

GrdE.NeedInitialization

требуется инициализация API (вызов GrdStartup)

GrdE.InvalidHandle

недействительный хэндл

GrdE.InvalidArg

недопустимый параметр при вызове функции

GrdE.NoService

ключ не поддерживает данную функцию

GrdE.AlgoNotFound

алгоритма с указанным числовым именем не существует

GrdE.CRCErrorFunc

ошибка CRC при выполнении функции

GrdE.GPis0

счетчик алгоритма достиг нулевого значения

Expand
titleОписание

Метод GrdSign позволяет вычислять цифровую подпись массива данных при помощи аппаратного алгоритма типа ECC. Вычисление цифровой подписи выполняется алгоритмом с числовым именем, заданным в параметре algNum. Этот алгоритм предварительно должен быть создан, в противном случае возвращается ошибка GrdE.AlgoNotFound. Если в дескрипторе алгоритма установлен флаг "уменьшение счетчика", то вычитание счетчика алгоритма происходит при каждом вызове GrdSign. При достижении счетчиком нулевого значения, возвращается ошибка GrdE.GPis0. Если при создании алгоритма или в процессе работы он был переведен в неактивное состояние, возвращается ошибка GrdE.InactiveItem. Ссылка на массив данных указана в параметре data. Возвращаемая цифровая подпись находится в массиве digestSign. Для алгоритма ECC160 длина массива данных и длина возвращаемой цифровой подписи должны быть  GrdECC160.MESSAGE_SIZE (20 байт) и GrdECC160_DIGEST_SIZE (40 байт) соответственно.

Card
labelJava
Code Block
languagejava
 public static GrdE GrdSign(Handle grdHandle, int algNum, byte[] data, byte[] sign)
Expand
titleПараметры метода

grdHandle [in] 

Тип: Handle

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

algNum [in]

Тип: int

Числовое имя аппаратного алгоритма.

data [in] 

Тип: byte [ ]

Указатель на массив данных.

sign [out] 

Тип: byte [ ]

Указатель на массив цифровой подписи.

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

GrdE.OK

нет ошибок

GrdE.NeedInitialization

требуется инициализация API (вызов GrdStartup)

GrdE.InvalidHandle

недействительный хэндл

GrdE.InvalidArg

недопустимый параметр при вызове функции

GrdE.NoService

ключ не поддерживает данную функцию

GrdE.AlgoNotFound

алгоритма с указанным числовым именем не существует

GrdE.CRCErrorFunc

ошибка CRC при выполнении функции

GrdE.GPis0

счетчик алгоритма достиг нулевого значения

Expand
titleОписание

Метод GrdSign позволяет вычислять цифровую подпись массива данных при помощи аппаратного алгоритма типа ECC. Вычисление цифровой подписи выполняется алгоритмом с числовым именем, заданным в параметре algNum. Этот алгоритм предварительно должен быть создан, в противном случае возвращается ошибка GrdE.AlgoNotFound. Если в дескрипторе алгоритма установлен флаг "уменьшение счетчика", то вычитание счетчика алгоритма происходит при каждом вызове GrdSign. При достижении счетчиком нулевого значения, возвращается ошибка GrdE.GPis0. Если при создании алгоритма или в процессе работы он был переведен в неактивное состояние, возвращается ошибка GrdE.InactiveItem. Ссылка на массив данных указана в параметре data. Возвращаемая цифровая подпись находится в массиве sign. Для алгоритма ECC160 длина массива данных и длина возвращаемой цифровой подписи должны быть GrdECC160.MESSAGE_SIZE (20 байт) и GrdECC160.DIGEST_SIZE (40 байт) соответственно.