102 lines
1.8 KiB
C
102 lines
1.8 KiB
C
|
/*++
|
||
|
|
||
|
Copyright (c) 1997 Microsoft Corporation
|
||
|
|
||
|
Module Name:
|
||
|
|
||
|
iiscblob.h
|
||
|
|
||
|
Abstract:
|
||
|
|
||
|
This include file contains the definition of the IIS_CRYPTO_BLOB
|
||
|
structure and associated constants.
|
||
|
|
||
|
Author:
|
||
|
|
||
|
Keith Moore (keithmo) 25-Feb-1997
|
||
|
|
||
|
Revision History:
|
||
|
|
||
|
--*/
|
||
|
|
||
|
|
||
|
#ifndef _IISCBLOB_H_
|
||
|
#define _IISCBLOB_H_
|
||
|
|
||
|
#ifndef _IIS_CRYPTO_BLOB_DEFINED
|
||
|
#define _IIS_CRYPTO_BLOB_DEFINED
|
||
|
#ifdef __cplusplus
|
||
|
extern "C" {
|
||
|
#endif // __cplusplus
|
||
|
|
||
|
//
|
||
|
// Structure signatures for the various blob types.
|
||
|
//
|
||
|
|
||
|
#define SALT_BLOB_SIGNATURE ((DWORD)'bScI')
|
||
|
#define KEY_BLOB_SIGNATURE ((DWORD)'bKcI')
|
||
|
#define PUBLIC_KEY_BLOB_SIGNATURE ((DWORD)'bPcI')
|
||
|
#define DATA_BLOB_SIGNATURE ((DWORD)'bDcI')
|
||
|
#define HASH_BLOB_SIGNATURE ((DWORD)'bHcI')
|
||
|
#define CLEARTEXT_BLOB_SIGNATURE ((DWORD)'bCcI')
|
||
|
|
||
|
//
|
||
|
// A crypto blob. Note that this is just the header for the blob.
|
||
|
// The details of the blob internals are private to the IIS Crypto
|
||
|
// package.
|
||
|
//
|
||
|
|
||
|
typedef struct _IIS_CRYPTO_BLOB {
|
||
|
|
||
|
//
|
||
|
// The structure signature for this blob.
|
||
|
//
|
||
|
|
||
|
DWORD BlobSignature;
|
||
|
|
||
|
//
|
||
|
// The total length of this blob, NOT including this header.
|
||
|
//
|
||
|
|
||
|
DWORD BlobDataLength;
|
||
|
|
||
|
|
||
|
#if defined(MIDL_PASS)
|
||
|
|
||
|
//
|
||
|
// Define the raw data so that MIDL can marshal correctly.
|
||
|
//
|
||
|
|
||
|
[size_is(BlobDataLength)] unsigned char BlobData[*];
|
||
|
|
||
|
#endif // MIDL_PASS
|
||
|
|
||
|
} IIS_CRYPTO_BLOB;
|
||
|
|
||
|
|
||
|
#if defined(MIDL_PASS)
|
||
|
|
||
|
// BUGBUG: Hackety Hack: midl doesn't know about __unaligned, so we don't
|
||
|
// tell it. At some point, midl should be fixed to know about it. Also,
|
||
|
// we should ultimately stop using __unaligned
|
||
|
|
||
|
typedef IIS_CRYPTO_BLOB *PIIS_CRYPTO_BLOB;
|
||
|
|
||
|
#else
|
||
|
|
||
|
typedef IIS_CRYPTO_BLOB UNALIGNED64 *PIIS_CRYPTO_BLOB;
|
||
|
|
||
|
#endif // MIDL_PASS
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
} // extern "C"
|
||
|
#endif // __cplusplus
|
||
|
#endif // _IIS_CRYPTO_BLOB_DEFINED
|
||
|
|
||
|
|
||
|
#endif // _IISCBLOB_H_
|
||
|
|