Versions Compared

Key

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

Функция GrdSign вычисляет электронную цифровую подпись блока байт при помощи аппаратного алгоритма ECC160.

 

Входные параметрыВыходные параметры
Deck of Cards
id001
Wiki Markup
{dojo-tabs:theme=tundra|id=1} {dojo-tab:title=C|selected=true} *C*
Card
defaulttrue
labelC
Code Block
languagecpp
int GRD_API  GrdSign(
  HANDLE hGrd,			
  DWORD	dwAlgoNum,		
  DWORD	dwDataLng,		
  void	*pData,			
  DWORD	dwSignResultLng,
  void	*pSignResult,	
  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}
Expand
title
Параметры функции

hGrd

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

dwAlgoNum

числовое имя аппаратного алгоритма типа ECC Algorithm

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

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

Card
labelC#
Code Block
languagec#
public static GrdE GrdSign(Handle grdHandle, GrdAlgNum algNum, byte[] data, out byte[] digestSign)

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

 

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

 

Card
labelJava
Code Block
languagejava
 
Expand
titleПараметры метода

 

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

 

Expand
titleОписание

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

Если в дескрипторе алгоритма установлен флаг nsafl_GP_dec (уменьшение счетчика), вычитание счетчика GP происходит при каждом вызове GrdSign.

Длина массива данных (в байтах) pData задается параметром dwDataLng и зависит от типа алгоритма.

Длина возвращаемой цифровой подписи (в байтах) pSignResult также зависит от типа алгоритма и задаётся параметром dwSignResultLng.

Для алгоритма ECC160 длина массива данных и длина возвращаемой цифровой подписи должны быть GrdECC160_MESSAGE_SIZE (20 байт) и GrdECC160_DIGEST_SIZE (40 байт) соответственно.

Expand
titleПример

Пример для используемого средства разработки см. в директории:

"\%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\"