Функция GrdSign вычисляет электронную цифровую подпись блока байт при помощи аппаратного алгоритма ECC160.
Deck of Cards |
---|
|
Wiki Markup |
---|
{dojo-tabs:theme=tundra|id=1}
{dojo-tab:title=C|selected=true}
*C*
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} | Входные параметры | hGrd | хэндл, через который будет выполнена данная операция | dwAlgoNum | числовое имя аппаратного алгоритма типа ECC Algorithm | dwDataLng | длина массива данных (20 байтов для ECC160) | pData | указатель на массив данных | dwSignResultLng | длина массива цифровой подписи (40 байтов для ECC160) | pSignResult | указатель на массив цифровой подписи | pReserved | зарезервировано |
|
|
| Выходные параметрыВозвращаемое значение функции |
| GrdE_OK | нет ошибок | GrdE_NeedInitialization | требуется инициализация API (вызов GrdStartup) | GrdE_InvalidHandle | недействительный хэндл | GrdE_InvalidArg | недопустимый параметр при вызове функции | GrdE_NoService | ключ не поддерживает данную функцию | GrdE_AlgoNotFound | алгоритма с указанным числовым именем не существует | GrdE_CRCErrorFunc | ошибка CRC при выполнении функции | GrdE_GPis0 | счетчик алгоритма достиг нулевого значения |
|
|
Card |
---|
| Code Block |
---|
| public static GrdE GrdSign(Handle grdHandle, GrdAlgNum algNum, byte[] data, out byte[] digestSign)
|
Expand |
---|
title | Возвращаемое значение метода |
---|
| |
|
Card |
---|
| Expand |
---|
title | Возвращаемое значение метода |
---|
| |
|
|
Expand |
---|
|
Функция GrdSign позволяет вычислять цифровую подпись массива данных при помощи аппаратного алгоритма типа ECC. Вычисление цифровой подписи производится алгоритмом с числовым именем, заданным в параметре dwAlgoNum. Этот алгоритм предварительно должен быть создан. Если в дескрипторе алгоритма установлен флаг nsafl_GP_dec (уменьшение счетчика), вычитание счетчика GP происходит при каждом вызове GrdSign. Длина массива данных (в байтах) pData задается параметром dwDataLng и зависит от типа алгоритма. Длина возвращаемой цифровой подписи (в байтах) pSignResult также зависит от типа алгоритма и задаётся параметром dwSignResultLng. Для алгоритма ECC160 длина массива данных и длина возвращаемой цифровой подписи должны быть GrdECC160_MESSAGE_SIZE (20 байт) и GrdECC160_DIGEST_SIZE (40 байт) соответственно. |
Expand |
---|
|
Пример для используемого средства разработки см. в директории: "\%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\" |