- Created by Dyakov Alexey, last modified by Guardant R&D on Nov 26, 2014
You are viewing an old version of this page. View the current version.
Compare with Current View Page History
« Previous Version 16 Next »
Функция(метод) GrdSign вычисляет электронную цифровую подпись блока байт при помощи аппаратного алгоритма ECC160.
int GRD_API GrdSign( HANDLE hGrd, DWORD dwAlgoNum, DWORD dwDataLng, void *pData, DWORD dwSignResultLng, void *pSignResult, void *pReserved );
hGrd |
хэндл, через который будет выполнена данная операция |
dwAlgoNum |
числовое имя аппаратного алгоритма типа ECC Algorithm |
dwDataLng |
длина массива данных (20 байтов для ECC160) |
pData |
указатель на массив данных |
dwSignResultLng |
длина массива цифровой подписи (40 байтов для ECC160) |
pSignResult |
указатель на массив цифровой подписи |
pReserved |
зарезервировано |
нет ошибок |
|
требуется инициализация API (вызов GrdStartup) |
|
недействительный хэндл |
|
недопустимый параметр при вызове функции |
|
ключ не поддерживает данную функцию |
|
алгоритма с указанным числовым именем не существует |
|
ошибка CRC при выполнении функции |
|
счетчик алгоритма достиг нулевого значения |
Функция GrdSign позволяет вычислять цифровую подпись массива данных при помощи аппаратного алгоритма типа ECC. Вычисление цифровой подписи выполняется алгоритмом с числовым именем, заданным в параметре dwAlgoNum. Этот алгоритм предварительно должен быть создан, в противном случае возвращается ошибка GrdE_AlgoNotFound. Если в дескрипторе алгоритма установлен флаг "уменьшение счетчика", то вычитание счетчика алгоритма происходит при каждом вызове GrdSign. При достижении счетчиком нулевого значения, возвращается ошибка GrdE_GPis0. Если при создании алгоритма или в процессе работы он был переведен в неактивное состояние, возвращается ошибка GrdE_InactiveItem. Длина буфера данных задаётся параметром dwDataLng. Сам буфер данных должен находиться по адресу, указанному в параметре pData. Возвращаемая цифровая подпись находится по адресу pSignResult и имеет длину dwSignResultLng. Для алгоритма ECC160 длина массива данных и длина возвращаемой цифровой подписи должны быть GrdECC160_MESSAGE_SIZE (20 байт) и GrdECC160_DIGEST_SIZE (40 байт) соответственно.
public static GrdE GrdSign(Handle grdHandle, GrdAlgNum algNum, byte[] data, out byte[] digestSign)
нет ошибок |
|
требуется инициализация API (вызов GrdStartup) |
|
недействительный хэндл |
|
недопустимый параметр при вызове функции |
|
ключ не поддерживает данную функцию |
|
алгоритма с указанным числовым именем не существует |
|
ошибка CRC при выполнении функции |
|
счетчик алгоритма достиг нулевого значения |
Метод GrdSign позволяет вычислять цифровую подпись массива данных при помощи аппаратного алгоритма типа ECC. Вычисление цифровой подписи выполняется алгоритмом с числовым именем, заданным в параметре algNum. Этот алгоритм предварительно должен быть создан, в противном случае возвращается ошибка GrdE.AlgoNotFound. Если в дескрипторе алгоритма установлен флаг "уменьшение счетчика", то вычитание счетчика алгоритма происходит при каждом вызове GrdSign. При достижении счетчиком нулевого значения, возвращается ошибка GrdE.GPis0. Если при создании алгоритма или в процессе работы он был переведен в неактивное состояние, возвращается ошибка GrdE.InactiveItem. Ссылка на массив данных указана в параметре data. Возвращаемая цифровая подпись находится в массиве digestSign. Для алгоритма ECC160 длина массива данных и длина возвращаемой цифровой подписи должны быть GrdECC160.MESSAGE_SIZE (20 байт) и GrdECC160_DIGEST_SIZE (40 байт) соответственно.
public static GrdE GrdSign(Handle grdHandle, int algNum, byte[] data, byte[] sign)
grdHandle [in]
Тип: Handle
хэндл, через который будет выполнена данная операция.
algNum [in]
Тип: int
Числовое имя аппаратного алгоритма.
data [in]
Тип: byte [ ]
Указатель на массив данных.
sign [out]
Тип: byte [ ]
Указатель на массив цифровой подписи.
нет ошибок |
|
требуется инициализация API (вызов GrdStartup) |
|
недействительный хэндл |
|
недопустимый параметр при вызове функции |
|
ключ не поддерживает данную функцию |
|
алгоритма с указанным числовым именем не существует |
|
ошибка CRC при выполнении функции |
|
счетчик алгоритма достиг нулевого значения |
Метод GrdSign позволяет вычислять цифровую подпись массива данных при помощи аппаратного алгоритма типа ECC. Вычисление цифровой подписи выполняется алгоритмом с числовым именем, заданным в параметре algNum. Этот алгоритм предварительно должен быть создан, в противном случае возвращается ошибка GrdE.AlgoNotFound. Если в дескрипторе алгоритма установлен флаг "уменьшение счетчика", то вычитание счетчика алгоритма происходит при каждом вызове GrdSign. При достижении счетчиком нулевого значения, возвращается ошибка GrdE.GPis0. Если при создании алгоритма или в процессе работы он был переведен в неактивное состояние, возвращается ошибка GrdE.InactiveItem. Ссылка на массив данных указана в параметре data. Возвращаемая цифровая подпись находится в массиве sign. Для алгоритма ECC160 длина массива данных и длина возвращаемой цифровой подписи должны быть GrdECC160.MESSAGE_SIZE (20 байт) и GrdECC160.DIGEST_SIZE (40 байт) соответственно.
- No labels