📄 tss_defines.h
字号:
/*++ Global defines for TSS. --*/#ifndef __TSS_DEFINES_H__#define __TSS_DEFINES_H__typedef UINT32 TSS_HMACHANDLE; // handle to a HMAC session//// definition of the object types that can be created via CreateObject//#define TSS_OBJECT_TYPE_POLICY (0x01) // Policy object#define TSS_OBJECT_TYPE_RSAKEY (0x02) // RSA-Key object#define TSS_OBJECT_TYPE_ENCDATA (0x03) // Encrypted data object#define TSS_OBJECT_TYPE_PCRS (0x04) // PCR composite object#define TSS_OBJECT_TYPE_HASH (0x05) // Hash object////////////////////////////////////////////////////////////////////////////// CreateObject: Flags////////////////////////////////////////////////////////////////////////////// for RSAKEY object://// Authorization:////// 3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0// ---------------------------------------------------------------// Authorization:// Never |0 0|// Always |0 1|//#define TSS_KEY_NO_AUTHORIZATION (0x00000000) // no authorization for this key#define TSS_KEY_AUTHORIZATION (0x00000001) // key needs authorization//// Volatility//// Non Volatile |0|// Volatile |1|//#define TSS_KEY_NON_VOLATILE (0x00000000) // Key is non-volatile#define TSS_KEY_VOLATILE (0x00000004) // Key is volatile//// Migration://// Non Migratable |0|// Migratable |1|//#define TSS_KEY_NOT_MIGRATABLE (0x00000000) // key is not migratable#define TSS_KEY_MIGRATABLE (0x00000008) // key is migratable//// Usage:////// 3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0// ---------------------------------------------------------------// Usage:// Default (Legacy) |0 0 0 0|// Signing |0 0 0 1|// Storage |0 0 1 0|// Identity |0 0 1 0|// AuthChange |0 1 0 0|// Bind |0 1 0 1|// Legacy |0 1 1 0|////#define TSS_KEY_TYPE_DEFAULT (0x00000000) // indicate a default key (Legacy-Key)#define TSS_KEY_TYPE_SIGNING (0x00000010) // indicate a signing key#define TSS_KEY_TYPE_STORAGE (0x00000020) // used as storage key#define TSS_KEY_TYPE_IDENTITY (0x00000030) // indicate an idendity key#define TSS_KEY_TYPE_AUTHCHANGE (0x00000040) // indicate an ephemeral key#define TSS_KEY_TYPE_BIND (0x00000050) // indicate a key for TPM_Bind#define TSS_KEY_TYPE_LEGACY (0x00000060) // indicate a key that can perfom signing// and binding//// 3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0// ---------------------------------------------------------------// Size:// 512 |0 0 0 1|// 1024 |0 0 1 0|// 2048 |0 0 1 1|// 4096 |0 1 0 0|// 8192 |0 1 0 1|// 16286 |0 1 1 0|//#define TSS_KEY_SIZE_512 ((UINT32)( 0x00000100 )) // indicate a key with 512 bit#define TSS_KEY_SIZE_1024 ((UINT32)( 0x00000200 )) // indicate a key with 1024 bit#define TSS_KEY_SIZE_2048 ((UINT32)( 0x00000300 )) // indicate a key with 2048 bit#define TSS_KEY_SIZE_4096 ((UINT32)( 0x00000400 )) // indicate a key with 4096 bit#define TSS_KEY_SIZE_8192 ((UINT32)( 0x00000500 )) // indicate a key with 8192 bit#define TSS_KEY_SIZE_16384 ((UINT32)( 0x00000600 )) // indicate a key with 16286 bit//// fixed KeyTypes (templates)////// 3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0// ----------------------------------------------------------------------------------// Reserved: |0 0 0 0 0 0 0 0 0 0 0 0 0 0|// Empty Key |0 0 0 0 0 0|// Storage root key |0 0 0 0 0 1|//#define TSS_KEY_EMPTY_KEY (0x00000000) // no TCPA key template (empty TSP key// object)#define TSS_KEY_TSP_SRK (0x04000000) // use a TCPA SRK template (TSP key object// for SRK)//// Flags for ENCDATA://// Type://// 3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0// ---------------------------------------------------------------// Type:// Seal |0 0 1|// Bind |0 1 0|// Legacy |0 1 1|//// ENCDATA Reserved:// |x x x x x x x x x x x x x x x x x x x x x x x x x x x x x|//#define TSS_ENCDATA_SEAL (0x00000001) // data for seal operation#define TSS_ENCDATA_BIND (0x00000002) // data for bind operation#define TSS_ENCDATA_LEGACY (0x00000003) // data for legacy bind operation////// Flags for POLICY://// Type:////// Flags for POLICY://// 3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0// ---------------------------------------------------------------// Type:// Usage |0 1|// Migration |1 0|//// POLICY Reserved:// |x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x|#define TSS_POLICY_USAGE (0x00000001) // usage policy object#define TSS_POLICY_MIGRATION (0x00000002) // migration policy object////// Flags for HASH:////// Flags for HASH://// 3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0// ---------------------------------------------------------------// Algorithm:// DEFAULT// |0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0|// SHA1// |0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1|// OTHER// |1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1|//#define TSS_HASH_DEFAULT (0x00000000) // Default hash algorithm#define TSS_HASH_SHA1 (0x00000001) // Sha1 with 20 bytes#define TSS_HASH_OTHER (0xFFFFFFFF) // Not specified hash algorithm////////////////////////////////////////////////////////////////////////////// SetAttribField and GetAttribField: Flags////////////////////////////////////////////////////////////////////////////// Object Context://// 3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0// ---------------------------------------------------------------// TSS_TSPATTRIB_CONTEXT_SILENT_MODE |0 0 1|// TSS_TSPATTRIB_CONTEXT_MACHINE_NAME |0 1 0|//#define TSS_TSPATTRIB_CONTEXT_SILENT_MODE (0x00000001) // TSP dialog display control#define TSS_TSPATTRIB_CONTEXT_MACHINE_NAME (0x00000002)// TSS 1.2 backport#define TSS_TSPATTRIB_SECRET_HASH_MODE (0x00000006) // flag indicating whether // NUL is included in the // hash of the password//// Subflags of TSS_TSPATTRIB_SECRET_HASH_MODE//#define TSS_TSPATTRIB_SECRET_HASH_MODE_POPUP (0x00000001)////// Values for TSS_TSPATTRIB_SECRET_HASH_MODE_POPUP subflag//#define TSS_TSPATTRIB_HASH_MODE_NOT_NULL (0x00000000)#define TSS_TSPATTRIB_HASH_MODE_NULL (0x00000001)// end TSS 1.2 backport//// Object Policy://// 3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0// ---------------------------------------------------------------// TSS_TSPATTRIB_POLICY_CALLBACK_HMAC |0 0 1|// TSS_TSPATTRIB_POLICY_CALLBACK_XOR_ENC |0 1 0|// TSS_TSPATTRIB_POLICY_CALLBACK_TAKEOWNERSHIP |0 1 1|// TSS_TSPATTRIB_POLICY_CALLBACK_CHANGEAUTHASYM |1 0 0|// TSS_TSPATTRIB_POLICY_SECRET_LIFETIME |1 0 1|// TSS_TSPATTRIB_POLICY_POPUPSTRING |1 1 0|//#define TSS_TSPATTRIB_POLICY_CALLBACK_HMAC (0x00000080) // enable/disable callback// function#define TSS_TSPATTRIB_POLICY_CALLBACK_XOR_ENC (0x00000100) // enable/disable callback// function#define TSS_TSPATTRIB_POLICY_CALLBACK_TAKEOWNERSHIP (0x00000180) // enable/disable callback// function#define TSS_TSPATTRIB_POLICY_CALLBACK_CHANGEAUTHASYM (0x00000200) // enable/disable callback// function#define TSS_TSPATTRIB_POLICY_SECRET_LIFETIME (0x00000280) // set lifetime mode for// policy secret#define TSS_TSPATTRIB_POLICY_POPUPSTRING (0x00000300) // set a NULL terminated// UNICODE string which is displayed// in the TSP policy popup dialog//// Definition of policy mode flags that can be used with the method Tspi_Policy_SetSecret( )//// TSS_SECRET_MODE_NONE |0 0 0 1|// TSS_SECRET_MODE_SHA1 |0 0 1 0|// TSS_SECRET_MODE_PLAIN |0 0 1 1|// TSS_SECRET_MODE_POPUP |0 1 0 0|// TSS_SECRET_MODE_CALLBACK |0 1 0 1|//#define TSS_SECRET_MODE_NONE (0x00000800) // No authorization will be processed#define TSS_SECRET_MODE_SHA1 (0x00001000) // Secret string will not be touched by TSP#define TSS_SECRET_MODE_PLAIN (0x00001800) // Secret string will be hashed using SHA1#define TSS_SECRET_MODE_POPUP (0x00002000) // TSS SP will ask for a secret#define TSS_SECRET_MODE_CALLBACK (0x00002800) // Application has to provide a call back// function////////////////////////////////////////////////////////////////////////////// SetAttribField and GetAttribField: SubFlags////////////////////////////////////////////////////////////////////////////// SubFlags for Flag TSS_TSPATTRIB_POLICY_SECRET_LIFETIME//// 3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0// ---------------------------------------------------------------// SubFlags for Flag TSS_TSPATTRIB_POLICY_SECRET_LIFETIME//// TSS_TSPATTRIB_POLICYSECRET_LIFETIME_ALWAYS |0 0 0 1|// TSS_TSPATTRIB_POLICYSECRET_LIFETIME_COUNTER |0 0 1 0|// TSS_TSPATTRIB_POLICYSECRET_LIFETIME_TIMER |0 0 1 1|//#define TSS_SECRET_LIFETIME_ALWAYS (0x00000001) // secret will not be invalidated#define TSS_SECRET_LIFETIME_COUNTER (0x00000002) // secret lifetime controled be counter#define TSS_SECRET_LIFETIME_TIMER (0x00000003) // secret lifetime controled be time#define TSS_TSPATTRIB_POLICYSECRET_LIFETIME_ALWAYS TSS_SECRET_LIFETIME_ALWAYS#define TSS_TSPATTRIB_POLICYSECRET_LIFETIME_COUNTER TSS_SECRET_LIFETIME_COUNTER#define TSS_TSPATTRIB_POLICYSECRET_LIFETIME_TIMER TSS_SECRET_LIFETIME_TIMER////////////////////////////////////////////////////////////////////////////// SetAttribField and GetAttribField: Attrib////////////////////////////////////////////////////////////////////////////// for Flag TSS_TSPATTRIB_CONTEXT_SILENT_MODE//#define TSS_TSPATTRIB_CONTEXT_NOT_SILENT (0x00000000) // TSP dialogs enabled#define TSS_TSPATTRIB_CONTEXT_SILENT (0x00000001) // TSP dialogs disabled//// Object EncData://#define TSS_TSPATTRIB_ENCDATA_BLOB (0x00000008) // data blob for seal or bind#define TSS_TSPATTRIB_ENCDATA_PCR (0x00000010)//// Object Key:////// 3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0// ---------------------------------------------------------------//// Object Key:// TSS_TSPATTRIB_KEY_BLOB |0 0 0 1|// TSS_TSPATTRIB_KEY_PARAM |0 0 1 0|// TSS_TSPATTRIB_KEY_GUID |0 0 1 1|// TSS_TSPATTRIB_KEY_PCR |0 1 0 0|// TSS_TSPATTRIB_RSAKEY_INFO |0 1 0 1|// TSS_TSPATTRIB_KEY_REGISTER |0 1 1 0|//
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -