You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
1002 B
45 lines
1002 B
#ifndef __NT_BLOBS_H__
|
|
#define __NT_BLOBS_H__
|
|
|
|
/* nt_blobs.h
|
|
*
|
|
* Structure definitions for the NameTag keyblob formats.
|
|
*
|
|
* Note: the code assumes that all structures begin with the
|
|
* STD_PRELUDE macro and end with the STD_POSTLUDE macro.
|
|
* This allows the "fill in the blanks" code to work more efficiently.
|
|
*
|
|
* NTStdHeader is the data that goes before the encrypted portion of
|
|
* the key blob.
|
|
*
|
|
* !!!!!!!!!!!!!!!ALERT!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
* Since these structs define a net packet, we always
|
|
* assume Intel byte order on these structures!!!!!
|
|
*
|
|
*/
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#include <sha2.h>
|
|
|
|
#define CUR_BLOB_VERSION 2
|
|
#define NT_HASH_BYTES MAX_HASH_SIZE
|
|
|
|
typedef struct _SIMPLEBLOB {
|
|
ALG_ID aiEncAlg;
|
|
} NTSimpleBlob;
|
|
|
|
typedef struct _STKXB {
|
|
DWORD dwRights;
|
|
DWORD dwKeyLen;
|
|
BYTE abHashData[NT_HASH_BYTES];
|
|
} NTKeyXBlob ;
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif // __NT_BLOBS_H__
|
|
|