⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tss_defines.h

📁 可信计算 TPM 很重要的应用底层接口封装中间层 IBM资深人员开发
💻 H
📖 第 1 页 / 共 2 页
字号:
/*++  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 + -