Расшифровывает буфер данных при помощи криптографического алгоритма AES128 ассоциированного с компонентом (Feature). Выполняет проверку лицензионный условий компонента.
Если лицензия ограничена по количеству запусков, то эта функция уменьшает значение счетчика запусков для лицензии.
Если установлен флаг GRD_NO_COUNTER_DECREMENT, то эта функция использует другой ключ шифрования и счетчик запусков не уменьшается.
По умолчанию используется режим шифрования GRD_EM_ECB.
Если данные шифровались с флагом GRD_NO_COUNTER_DECREMENT, то расшифровывать нужно тоже с ним
Если при шифровании использовался вектор инициализации iv, то при расшифровке необходимо указать тот же вектор
Синтаксис
int GRD_API GrdFeatureDecrypt(GrdHandle handle, grd_uint32 dataSize, void* data, grd_uint32 mode, void* context, grd_uint32 contextSize);
Параметры
handle | Дескриптор сеcсии |
dataSize | Размер (в байтах) буфера на зашифрованное сообщение |
data | Указатель на буфер, содержащий зашифрованное сообщение |
mode |
Флаги шифрования:
|
context | Указатель на контекcт, необходимый для операций шифрования с помощью AES. Может быть NULL |
contextSize | Размер контекста. Должен быть равен sizeof(GrdAesContext). Может быть 0 |