You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 19 Next »

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

    int GRD_API GrdSign(
      HANDLE hGrd,			
      DWORD	dwAlgoNum,		
      DWORD	dwDataLng,		
      void *pData,			
      DWORD	dwSignResultLng,
      void *pSignResult,	
      void *pReserved
    );	

    hGrd

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

    dwAlgoNum

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

    dwDataLng

    длина входного сообщения (20 байт для ECC160)

    pData

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

    dwSignResultLng

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

    pSignResult

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

    pReserved

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

    GrdE_OK

    нет ошибок

    GrdE_InvalidArg

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

    GrdE_NoService

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

    GrdE_AlgoNotFound

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

    GrdE_GPis0

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

    Функция GrdSign позволяет вычислять цифровую подпись входного сообщения при помощи аппаратного алгоритма электронной цифровой подписи. Вычисление цифровой подписи выполняется алгоритмом с числовым именем, заданным в параметре 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)
    

    grdHandle [in] 

    Тип: Handle

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

    algNum [in]

    Тип: GrdAlgNum

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

    data [in] 

    Тип: byte [ ]

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

    digestSign [out] 

    Тип: byte [ ]

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

    GrdE.OK

    нет ошибок

    GrdE.NeedInitialization

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

    GrdE.InvalidHandle

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

    GrdE.InvalidArg

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

    GrdE.NoService

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

    GrdE.AlgoNotFound

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

    GrdE.CRCErrorFunc

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

    GrdE.GPis0

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

    Метод 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 [ ]

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

    GrdE.OK

    нет ошибок

    GrdE.NeedInitialization

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

    GrdE.InvalidHandle

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

    GrdE.InvalidArg

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

    GrdE.NoService

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

    GrdE.AlgoNotFound

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

    GrdE.CRCErrorFunc

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

    GrdE.GPis0

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

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

    • No labels