Расшифровывает буфер данных при помощи криптографического алгоритма AES128 ассоциированного с компонентом (Feature). Выполняет проверку лицензионный условий компонента.

Если лицензия ограничена по количеству запусков, то эта функция уменьшает значение счетчика запусков для лицензии.

Если установлен флаг GRD_NO_COUNTER_DECREMENT, то эта функция использует другой ключ шифрования и счетчик запусков не уменьшается.

Если данные шифровались с флагом GRD_NO_COUNTER_DECREMENT, то расшифровывать нужно тоже с ним

Если при шифровании использовался вектор инициализации iv, то при дешифрации необходимо указать тот же вектор

Синтаксис

int GRD_API GrdFeatureDecrypt(GrdHandle handle,
							  grd_uint32 dataSize, 
							  void* data, 
							  grd_uint32 mode, 
							  grd_uint8* iv, 
							  grd_uint32 ivSize);

Параметры

handle
Дескриптор сеcсии
dataSize
Размер (в байтах) буфера для шифрования
data
Указатель на буфер для шифрования
mode

Режим шифрования:

  • GRD_EM_ECB
  • GRD_EM_CBC
  • GRD_EM_ECB | GRD_NO_COUNTER_DECREMENT
  • GRD_EM_CBC | GRD_NO_COUNTER_DECREMENT
iv
Буфер для передачи вектора инициализации. Может быть NULL
ivSize
Размер буфера вектора инициализации iv. Должен быть равен 16 байт. Может быть 0

Возвращаемые значения

GRD_OK

GRD_INVALID_HANDLE

GRD_INVALID_FEATURE

  • No labels