Функция GccaVerifySign проверяет электронную цифровую подпись блока байт при помощи аппаратного алгоритма ECC160.
int GccaVerifySign(
HANDLE hGrd,
DWORD dwAlgoType,
DWORD dwPublicKeyLng,
void *pPublicKey,
DWORD dwDataLng,
void *pData,
DWORD dwSignLng,
void *pSign,
void *pReserved
);
Параметры функции
hGrd |
не используется |
dwAlgoType |
тип программного алгоритма (см. GrdVSC_XXXXX) |
dwPublicKeyLng |
длина открытого ключа |
pPublicKey |
указатель на открытый ключ |
dwDataLng |
длина массива данных (20 байтов для ECC160) |
pData |
указатель на массив данных |
dwSignLng |
длина массива цифровой подписи (40 байтов для ECC160) |
pSign |
указатель на массив цифровой подписи |
pReserved |
зарезервировано |
Возвращаемое значение функции
Описание
Функция GccaVerifySign осуществляет проверку цифровой подписи массива данных. Реализация функции полностью программная. Проверка цифровой подписи производится алгоритмом, заданным в параметре dwAlgoType. Типы допустимых программных алгоритмов определены константами GrdVSC_XXXXX. Длина открытого ключа (в байтах) pPublicKey задаётся параметром dwPublicKeyLng и зависит от типа программного алгоритма. Длины массива данных (в байтах) pData и цифровой подписи (в байтах) pSign задаются параметрами dwDataLng и dwSignLng соответственно.
Для алгоритма ECC160 тип программного алгоритма должен быть GrdVSC_ECC160.
Длина открытого ключа должна быть GrdECC160_PUBLIC_KEY_SIZE (40 байт). Длина массива данных и длина цифровой подписи должны быть GrdECC160_MESSAGE_SIZE (20 байт) и GrdECC160_DIGEST_SIZE (40 байт) соответственно.