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

Compare with Current View Page History

« Previous Version 11 Next »

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

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


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

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

Режимы шифрования GRD_EM_CFB и GRD_EM_OFB доступны только при одновременном использовании флага GRD_SOFTWARE_ACCELERATION

Синтаксис

int GRD_API GrdFeatureDecrypt(GrdHandle handle,
							  grd_uint32 dataSize, 
							  void* data, 
							  grd_uint32 mode, 
							  void* context, 
							  grd_uint32 contextSize);

Параметры

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

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

  • GRD_EM_ECB
  • GRD_EM_CBC
  • GRD_EM_CFB
  • GRD_EM_OFB

Флаги шифрования:

  • GRD_NO_COUNTER_DECREMENT
  • GRD_SOFTWARE_ACCELERATION
context
Указатель на контекcт, необходимый для операций шифрования с помощью AES. Может быть NULL
contextSize
Размер контекста. Должен быть равен sizeof(GrdAesContext). Может быть 0

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

GRD_OK

GRD_INVALID_HANDLE

GRD_INVALID_FEATURE

  • No labels