2.2.6.2 LSAPR_AES_CIPHER_VALUE

The LSAPR_AES_CIPHER_VALUE structure is a buffer used to carry AES encrypted secret data and secret names.<31>

 typedef struct _LSAPR_AES_CIPHER_VALUE {
     UCHAR                                   AuthData[64];
     UCHAR                                   Salt[16];
     [range(0, MAX_CIPHER_SIZE)] ULONG       cbCipher;
     [size_is(cbCipher)] PUCHAR              Cipher;
 } LSAPR_AES_CIPHER_VALUE, *PLSAPR_AES_CIPHER_VALUE;

AuthData: An array containing the authentication signature. The signature is the HMAC-SHA-512 hash of the value of Cipher+versionbyte+versionbyte length as specified in "AES Cipher Usage" (section 5.1.5).

Salt: An array containing the random number used by the client to encrypt the data stored in the Cipher location with AES.

cbCipher: The size of the Cipher buffer in bytes.

Cipher: A pointer to a UCHAR buffer to carry encrypted cleartext secret data. The encryption key is method-specific, while the algorithm is specified in AES Cipher Usage (section 5.1.5) and is common for all methods that use this structure. If the value of cbCipher is greater than 0, this field must contain a non-NULL value.