{
if (creds->negotiate_flags & NETLOGON_NEG_SUPPORTS_AES) {
AES_KEY key;
- uint8_t iv[AES_BLOCK_SIZE];
+ uint8_t iv[AES_BLOCK_SIZE] = {0};
AES_set_encrypt_key(creds->session_key, 128, &key);
- ZERO_STRUCT(iv);
aes_cfb8_encrypt(in->data, out->data, 8, &key, iv, AES_ENCRYPT);
} else {
SIVAL(sum2,0,sum[0]);
SIVAL(sum2,4,sum[1]);
- ZERO_STRUCT(creds->session_key);
+ ZERO_ARRAY(creds->session_key);
des_crypt128(creds->session_key, sum2, machine_password->hash);
}
HMACMD5Context ctx;
MD5_CTX md5;
- ZERO_STRUCT(creds->session_key);
+ ZERO_ARRAY(creds->session_key);
memset(zero, 0, sizeof(zero));
struct HMACSHA256Context ctx;
uint8_t digest[SHA256_DIGEST_LENGTH];
- ZERO_STRUCT(creds->session_key);
+ ZERO_ARRAY(creds->session_key);
hmac_sha256_init(machine_password->hash,
sizeof(machine_password->hash),
void netlogon_creds_aes_encrypt(struct netlogon_creds_CredentialState *creds, uint8_t *data, size_t len)
{
AES_KEY key;
- uint8_t iv[AES_BLOCK_SIZE];
+ uint8_t iv[AES_BLOCK_SIZE] = {0};
AES_set_encrypt_key(creds->session_key, 128, &key);
- ZERO_STRUCT(iv);
aes_cfb8_encrypt(data, data, len, &key, iv, AES_ENCRYPT);
}
void netlogon_creds_aes_decrypt(struct netlogon_creds_CredentialState *creds, uint8_t *data, size_t len)
{
AES_KEY key;
- uint8_t iv[AES_BLOCK_SIZE];
+ uint8_t iv[AES_BLOCK_SIZE] = {0};
AES_set_encrypt_key(creds->session_key, 128, &key);
- ZERO_STRUCT(iv);
aes_cfb8_encrypt(data, data, len, &key, iv, AES_DECRYPT);
}