44 lines
897 B
C
44 lines
897 B
C
#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
|
|
|
|
#define CUR_BLOB_VERSION 2
|
|
#define NT_HASH_BYTES MAXHASHLEN
|
|
|
|
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__
|
|
|