?? tss_structs.h
字號:
/*++
TSS structures for TSS
*/
#ifndef __TSS_STRUCTS_H__
#define __TSS_STRUCTS_H__
#include <tss/platform.h>
#include <tss/tss_typedef.h>
#include <tss/tpm.h>
typedef struct tdTSS_VERSION
{
BYTE bMajor;
BYTE bMinor;
BYTE bRevMajor;
BYTE bRevMinor;
} TSS_VERSION;
typedef struct tdTSS_PCR_EVENT
{
TSS_VERSION versionInfo;
UINT32 ulPcrIndex;
TSS_EVENTTYPE eventType;
UINT32 ulPcrValueLength;
#ifdef __midl
[size_is(ulPcrValueLength)]
#endif
BYTE* rgbPcrValue;
UINT32 ulEventLength;
#ifdef __midl
[size_is(ulEventLength)]
#endif
BYTE* rgbEvent;
} TSS_PCR_EVENT;
typedef struct tdTSS_EVENT_CERT
{
TSS_VERSION versionInfo;
UINT32 ulCertificateHashLength;
#ifdef __midl
[size_is(ulCertificateHashLength)]
#endif
BYTE* rgbCertificateHash;
UINT32 ulEntityDigestLength;
#ifdef __midl
[size_is(ulEntityDigestLength)]
#endif
BYTE* rgbentityDigest;
TSS_BOOL fDigestChecked;
TSS_BOOL fDigestVerified;
UINT32 ulIssuerLength;
#ifdef __midl
[size_is(ulIssuerLength)]
#endif
BYTE* rgbIssuer;
} TSS_EVENT_CERT;
typedef struct tdTSS_UUID
{
UINT32 ulTimeLow;
UINT16 usTimeMid;
UINT16 usTimeHigh;
BYTE bClockSeqHigh;
BYTE bClockSeqLow;
BYTE rgbNode[6];
} TSS_UUID;
typedef struct tdTSS_KM_KEYINFO
{
TSS_VERSION versionInfo;
TSS_UUID keyUUID;
TSS_UUID parentKeyUUID;
BYTE bAuthDataUsage; // whether auth is needed to load child keys
TSS_BOOL fIsLoaded; // TRUE: actually loaded in TPM
UINT32 ulVendorDataLength; // may be 0
#ifdef __midl
[size_is(ulVendorDataLength)]
#endif
BYTE *rgbVendorData; // may be NULL
} TSS_KM_KEYINFO;
typedef struct tdTSS_KM_KEYINFO2
{
TSS_VERSION versionInfo;
TSS_UUID keyUUID;
TSS_UUID parentKeyUUID;
BYTE bAuthDataUsage; // whether auth is needed to load child keys
TSS_FLAG persistentStorageType;
TSS_FLAG persistentStorageTypeParent;
TSS_BOOL fIsLoaded; // TRUE: actually loaded in TPM
UINT32 ulVendorDataLength; // may be 0
#ifdef __midl
[size_is(ulVendorDataLength)]
#endif
BYTE *rgbVendorData; // may be NULL
} TSS_KM_KEYINFO2;
typedef struct tdTSS_NONCE
{
BYTE nonce[TPM_SHA1BASED_NONCE_LEN];
} TSS_NONCE;
typedef struct tdTSS_VALIDATION
{
TSS_VERSION versionInfo;
UINT32 ulExternalDataLength;
#ifdef __midl
[size_is(ulExternalDataLength)]
#endif
BYTE* rgbExternalData;
UINT32 ulDataLength;
#ifdef __midl
[size_is(ulDataLength)]
#endif
BYTE* rgbData;
UINT32 ulValidationDataLength;
#ifdef __midl
[size_is(ulValidationDataLength)]
#endif
BYTE* rgbValidationData;
} TSS_VALIDATION;
typedef struct tdTSS_CALLBACK
{
PVOID callback;
PVOID appData;
TSS_ALGORITHM_ID alg;
} TSS_CALLBACK;
typedef struct tdTSS_DAA_PK
{
TSS_VERSION versionInfo;
UINT32 modulusLength;
#ifdef __midl
[size_is(modulusLength)]
#endif
BYTE* modulus;
UINT32 capitalSLength;
#ifdef __midl
[size_is(capitalSLength)]
#endif
BYTE* capitalS;
UINT32 capitalZLength;
#ifdef __midl
[size_is(capitalZLength)]
#endif
BYTE* capitalZ;
UINT32 capitalR0Length;
#ifdef __midl
[size_is(capitalR0Length)]
#endif
BYTE* capitalR0;
UINT32 capitalR1Length;
#ifdef __midl
[size_is(capitalR1Length)]
#endif
BYTE* capitalR1;
UINT32 gammaLength;
#ifdef __midl
[size_is(gammaLength)]
#endif
BYTE* gamma;
UINT32 capitalGammaLength;
#ifdef __midl
[size_is(capitalGammaLength)]
#endif
BYTE* capitalGamma;
UINT32 rhoLength;
#ifdef __midl
[size_is(rhoLength)]
#endif
BYTE* rho;
UINT32 capitalYLength; // Length of first dimenstion
UINT32 capitalYLength2; // Length of second dimension
#ifdef __midl
[size_is(capitalYLength,capitalYLength2)]
#endif
BYTE** capitalY;
UINT32 capitalYPlatformLength;
UINT32 issuerBaseNameLength;
#ifdef __midl
[size_is(issuerBaseName)]
#endif
BYTE* issuerBaseName;
UINT32 numPlatformAttributes;
UINT32 numIssuerAttributes;
} TSS_DAA_PK;
typedef struct tdTSS_DAA_PK_PROOF
{
TSS_VERSION versionInfo;
UINT32 challengeLength;
#ifdef __midl
[size_is(challengeLength)]
#endif
BYTE* challenge;
UINT32 responseLength; // Length of first dimension
UINT32 responseLength2; // Length of second dimension
#ifdef __midl
[size_is(responseLength,responseLength2)]
#endif
BYTE** response;
} TSS_DAA_PK_PROOF;
typedef struct tdTSS_DAA_SK
{
TSS_VERSION versionInfo;
UINT32 productPQprimeLength;
#ifdef __midl
[size_is(productPQprimeLength)]
#endif
BYTE* productPQprime;
} TSS_DAA_SK;
typedef struct tdTSS_DAA_KEY_PAIR
{
TSS_VERSION versionInfo;
TSS_DAA_SK secretKey;
TSS_DAA_PK publicKey;
} TSS_DAA_KEY_PAIR;
typedef struct tdTSS_DAA_AR_PK
{
TSS_VERSION versionInfo;
UINT32 etaLength;
#ifdef __midl
[size_is(etaLength)]
#endif
BYTE* eta;
UINT32 lambda1Length;
#ifdef __midl
[size_is(lambda1Length)]
#endif
BYTE* lambda1;
UINT32 lambda2Length;
#ifdef __midl
[size_is(lambda2Length)]
#endif
BYTE* lambda2;
UINT32 lambda3Length;
#ifdef __midl
[size_is(lambda3Length)]
#endif
BYTE* lambda3;
} TSS_DAA_AR_PK;
typedef struct tdTSS_DAA_AR_SK
{
TSS_VERSION versionInfo;
UINT32 x0Length;
#ifdef __midl
[size_is(x0Length)]
#endif
BYTE* x0;
UINT32 x1Length;
#ifdef __midl
[size_is(x1Length)]
#endif
BYTE* x1;
UINT32 x2Length;
#ifdef __midl
[size_is(x2Length)]
#endif
BYTE* x2;
UINT32 x3Length;
#ifdef __midl
[size_is(x3Length)]
#endif
BYTE* x3;
UINT32 x4Length;
#ifdef __midl
[size_is(x4Length)]
#endif
BYTE* x4;
UINT32 x5Length;
#ifdef __midl
[size_is(x5Length)]
#endif
BYTE* x5;
} TSS_DAA_AR_SK;
typedef struct tdTSS_DAA_AR_KEY_PAIR
{
TSS_VERSION versionInfo;
TSS_DAA_AR_SK secretKey;
TSS_DAA_AR_PK publicKey;
} TSS_DAA_AR_KEY_PAIR;
typedef struct tdTSS_DAA_CRED_ISSUER
{
TSS_VERSION versionInfo;
UINT32 capitalALength;
#ifdef __midl
[size_is(capitalALength)]
#endif
BYTE* capitalA;
UINT32 eLength;
#ifdef __midl
[size_is(eLength)]
#endif
BYTE* e;
UINT32 vPrimePrimeLength;
#ifdef __midl
[size_is(vPrimePrimeLength)]
#endif
BYTE* vPrimePrime;
UINT32 attributesIssuerLength; // Length of first dimension
UINT32 attributesIssuerLength2; // Length of second dimension
#ifdef __midl
[size_is(attributesIssuerLength,attributesIssuerLength2)]
#endif
BYTE** attributesIssuer;
UINT32 cPrimeLength;
#ifdef __midl
[size_is(cPrimeLength)]
#endif
BYTE* cPrime;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -