Description

Decrypts the data buffer using the AES128 cryptographic algorithm associated with the Feature. Checks the license conditions of the feature.

If the license is limited by the number of launches, this function decrements the value of the launch counter for the license.

If the GRD_NO_COUNTER_DECREMENT flag is set, the function uses a different encryption key and the launch counter is not decreased.

If the data was encrypted with the GRD_NO_COUNTER_DECREMENT flag, then it must be decrypted with it too

If the iv initialization vector was used during encryption, then the same vector must be specified during decryption.

Syntax

function GrdFeatureDecrypt(
  handle: GrdHandle;
  dataSize: grd_uint32;
  data: Pointer;
  mode: grd_uint32;
  iv: Pointer;
  ivSize: grd_uint32): Integer; stdcall;

Parameters

handle
Session handle
dataSize
The size (in bytes) of the encryption buffer
data

Pointer to the buffer for encryption

mode

Encryption mode:

  • GRD_EM_ECB
  • GRD_EM_CBC
  • GRD_EM_ECB | GRD_NO_COUNTER_DECREMENT
  • GRD_EM_CBC | GRD_NO_COUNTER_DECREMENT
iv
Buffer to transmit initialization vector. Can be NULL
ivSize
Size of the iv initialization vector buffer. Must be equal 16 bytes. Can be 0

Return values

GRD_OK

GRD_INVALID_HANDLE

GRD_INVALID_FEATURE

  • No labels