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

📄 tss_defines.h

📁 TCG软件栈 linux系统上使用 为可信应用软件提供和 TPM通信的 接口 其网站上有很多关于使用此软件的测试用例
💻 H
📖 第 1 页 / 共 4 页
字号:
//   Tspi_Context_GetCapability(TSS_TSPCAP_ALG)
//   Tspi_Context_GetCapability(TSS_TCSCAP_ALG)
#define   TSS_ALG_DEFAULT           (0xfe)
#define   TSS_ALG_DEFAULT_SIZE      (0xff)


//
// key signature scheme definitions
//
#define TSS_SS_NONE                 (0x10)
#define TSS_SS_RSASSAPKCS1V15_SHA1  (0x11)
#define TSS_SS_RSASSAPKCS1V15_DER   (0x12)

//
// key encryption scheme definitions
//
#define TSS_ES_NONE                 (0x10)
#define TSS_ES_RSAESPKCSV15         (0x11)
#define TSS_ES_RSAESOAEP_SHA1_MGF1  (0x12)
#define TSS_ES_SYM_CNT              (0x13)
#define TSS_ES_SYM_OFB              (0x14)
#define TSS_ES_SYM_CBC_PKCS5PAD     (0x15)


//
// persistent storage registration definitions
//
#define TSS_PS_TYPE_USER   (1) // Key is registered persistantly in the user
                               // storage database.
#define TSS_PS_TYPE_SYSTEM (2) // Key is registered persistantly in the system
                               // storage database.

//
// migration scheme definitions
// Values intentionally moved away from corresponding TPM values to avoid
// possible misuse
//
#define TSS_MS_MIGRATE                   (0x20)
#define TSS_MS_REWRAP                    (0x21)
#define TSS_MS_MAINT                     (0x22)
#define TSS_MS_RESTRICT_MIGRATE          (0x23)
#define TSS_MS_RESTRICT_APPROVE_DOUBLE   (0x24)
#define TSS_MS_RESTRICT_MIGRATE_EXTERNAL (0x25)

//
// TPM key authorization
// Values intentionally moved away from corresponding TPM values to avoid
// possible misuse
//
#define TSS_KEYAUTH_AUTH_NEVER         (0x10)
#define TSS_KEYAUTH_AUTH_ALWAYS        (0x11)
#define TSS_KEYAUTH_AUTH_PRIV_USE_ONLY (0x12)


//
// Flags for TPM status information (GetStatus and SetStatus)
//
#define TSS_TPMSTATUS_DISABLEOWNERCLEAR      (0x00000001) // persistent flag
#define TSS_TPMSTATUS_DISABLEFORCECLEAR      (0x00000002) // volatile flag
#define TSS_TPMSTATUS_DISABLED               (0x00000003) // persistent flag
#define TSS_TPMSTATUS_DEACTIVATED            (0x00000004) // volatile flag
#define TSS_TPMSTATUS_OWNERSETDISABLE        (0x00000005) // persistent flag
                                                          // for SetStatus
                                                          // (disable flag) 
#define TSS_TPMSTATUS_SETOWNERINSTALL        (0x00000006) // persistent flag
                                                          // (ownership flag)
#define TSS_TPMSTATUS_DISABLEPUBEKREAD       (0x00000007) // persistent flag
#define TSS_TPMSTATUS_ALLOWMAINTENANCE       (0x00000008) // persistent flag
#define TSS_TPMSTATUS_PHYSPRES_LIFETIMELOCK  (0x00000009) // persistent flag
#define TSS_TPMSTATUS_PHYSPRES_HWENABLE      (0x0000000A) // persistent flag
#define TSS_TPMSTATUS_PHYSPRES_CMDENABLE     (0x0000000B) // persistent flag
#define TSS_TPMSTATUS_PHYSPRES_LOCK          (0x0000000C) // volatile flag
#define TSS_TPMSTATUS_PHYSPRESENCE           (0x0000000D) // volatile flag
#define TSS_TPMSTATUS_PHYSICALDISABLE        (0x0000000E) // persistent flag
                                                          // (SetStatus
                                                          //  disable flag)
#define TSS_TPMSTATUS_CEKP_USED              (0x0000000F) // persistent flag
#define TSS_TPMSTATUS_PHYSICALSETDEACTIVATED (0x00000010) // persistent flag
                                                          // (deactivated flag)
#define TSS_TPMSTATUS_SETTEMPDEACTIVATED     (0x00000011) // volatile flag
                                                          // (deactivated flag)
#define TSS_TPMSTATUS_POSTINITIALISE         (0x00000012) // volatile flag
#define TSS_TPMSTATUS_TPMPOST                (0x00000013) // persistent flag
#define TSS_TPMSTATUS_TPMPOSTLOCK            (0x00000014) // persistent flag
#define TSS_TPMSTATUS_DISABLEPUBSRKREAD      (0x00000016) // persistent flag
#define TSS_TPMSTATUS_MAINTENANCEUSED        (0x00000017) // persistent flag
#define TSS_TPMSTATUS_OPERATORINSTALLED      (0x00000018) // persistent flag
#define TSS_TPMSTATUS_OPERATOR_INSTALLED     (TSS_TPMSTATUS_OPERATORINSTALLED)
#define TSS_TPMSTATUS_FIPS                   (0x00000019) // persistent flag
#define TSS_TPMSTATUS_ENABLEREVOKEEK         (0x0000001A) // persistent flag
#define TSS_TPMSTATUS_ENABLE_REVOKEEK        (TSS_TPMSTATUS_ENABLEREVOKEEK)
#define TSS_TPMSTATUS_NV_LOCK                (0x0000001B) // persistent flag
#define TSS_TPMSTATUS_TPM_ESTABLISHED        (0x0000001C) // persistent flag
#define TSS_TPMSTATUS_RESETLOCK              (0x0000001D) // volatile flag
#define TSS_TPMSTATUS_DISABLE_FULL_DA_LOGIC_INFO (0x0000001D) //persistent flag


//
// Capability flag definitions
//
// TPM capabilities            
//
#define TSS_TPMCAP_ORD                   (0x10)
#define TSS_TPMCAP_ALG                   (0x11)
#define TSS_TPMCAP_FLAG                  (0x12)
#define TSS_TPMCAP_PROPERTY              (0x13)
#define TSS_TPMCAP_VERSION               (0x14)
#define TSS_TPMCAP_VERSION_VAL           (0x15)
#define TSS_TPMCAP_NV_LIST               (0x16)
#define TSS_TPMCAP_NV_INDEX              (0x17)
#define TSS_TPMCAP_MFR                   (0x18)
#define TSS_TPMCAP_SYM_MODE              (0x19)
#define TSS_TPMCAP_HANDLE                (0x1a)
#define TSS_TPMCAP_TRANS_ES              (0x1b)
#define TSS_TPMCAP_AUTH_ENCRYPT          (0x1c)  
#define TSS_TPMCAP_SET_PERM_FLAGS        (0x1d)  // cf. TPM_SET_PERM_FLAGS
#define TSS_TPMCAP_SET_VENDOR            (0x1e)  // cf. TPM_SET_VENDOR
#define TSS_TPMCAP_DA_LOGIC              (0x1f)

//
// Sub-Capability Flags for TSS_TPMCAP_PROPERTY
//
#define TSS_TPMCAP_PROP_PCR                 (0x10)
#define TSS_TPMCAP_PROP_DIR                 (0x11)
#define TSS_TPMCAP_PROP_MANUFACTURER        (0x12)
#define TSS_TPMCAP_PROP_SLOTS               (0x13)
#define TSS_TPMCAP_PROP_KEYS                TSS_TPMCAP_PROP_SLOTS
#define TSS_TPMCAP_PROP_FAMILYROWS          (0x14)
#define TSS_TPMCAP_PROP_DELEGATEROWS        (0x15)
#define TSS_TPMCAP_PROP_OWNER               (0x16)
#define TSS_TPMCAP_PROP_MAXKEYS             (0x18)
#define TSS_TPMCAP_PROP_AUTHSESSIONS        (0x19)
#define TSS_TPMCAP_PROP_MAXAUTHSESSIONS     (0x1a)
#define TSS_TPMCAP_PROP_TRANSESSIONS        (0x1b)
#define TSS_TPMCAP_PROP_MAXTRANSESSIONS     (0x1c)
#define TSS_TPMCAP_PROP_SESSIONS            (0x1d)
#define TSS_TPMCAP_PROP_MAXSESSIONS         (0x1e)
#define TSS_TPMCAP_PROP_CONTEXTS            (0x1f)
#define TSS_TPMCAP_PROP_MAXCONTEXTS         (0x20)
#define TSS_TPMCAP_PROP_DAASESSIONS         (0x21)
#define TSS_TPMCAP_PROP_MAXDAASESSIONS      (0x22)
#define TSS_TPMCAP_PROP_DAA_INTERRUPT       (0x23)
#define TSS_TPMCAP_PROP_COUNTERS            (0x24)
#define TSS_TPMCAP_PROP_MAXCOUNTERS         (0x25)
#define TSS_TPMCAP_PROP_ACTIVECOUNTER       (0x26)
#define TSS_TPMCAP_PROP_MIN_COUNTER         (0x27)
#define TSS_TPMCAP_PROP_TISTIMEOUTS         (0x28)
#define TSS_TPMCAP_PROP_STARTUPEFFECTS      (0x29)
#define TSS_TPMCAP_PROP_MAXCONTEXTCOUNTDIST (0x2a)
#define TSS_TPMCAP_PROP_CMKRESTRICTION      (0x2b)
#define TSS_TPMCAP_PROP_DURATION            (0x2c)
#define TSS_TPMCAP_PROP_MAXNVAVAILABLE      (0x2d)
#define TSS_TPMCAP_PROP_INPUTBUFFERSIZE     (0x2e)
#define TSS_TPMCAP_PROP_REVISION            (0x2f)
#define TSS_TPMCAP_PROP_LOCALITIES_AVAIL    (0x32)

//
// Resource type flags
// Sub-Capability Flags for TSS_TPMCAP_HANDLE
//
#define TSS_RT_KEY                     ((UINT32)0x00000010)
#define TSS_RT_AUTH                    ((UINT32)0x00000020)
#define TSS_RT_TRANS                   ((UINT32)0x00000030)
#define TSS_RT_COUNTER                 ((UINT32)0x00000040)


//
// TSS Core Service Capabilities   
//
#define TSS_TCSCAP_ALG                   (0x00000001)
#define TSS_TCSCAP_VERSION               (0x00000002)
#define TSS_TCSCAP_CACHING               (0x00000003)
#define TSS_TCSCAP_PERSSTORAGE           (0x00000004)
#define TSS_TCSCAP_MANUFACTURER          (0x00000005)
#define TSS_TCSCAP_PLATFORM_CLASS        (0x00000006)
#define TSS_TCSCAP_TRANSPORT             (0x00000007)
#define TSS_TCSCAP_PLATFORM_INFO         (0x00000008)

//
// Sub-Capability Flags TSS-CoreService-Capabilities
//
#define TSS_TCSCAP_PROP_KEYCACHE         (0x00000100)
#define TSS_TCSCAP_PROP_AUTHCACHE        (0x00000101)
#define TSS_TCSCAP_PROP_MANUFACTURER_STR (0x00000102)
#define TSS_TCSCAP_PROP_MANUFACTURER_ID  (0x00000103)
#define TSS_TCSCAP_PLATFORM_VERSION      (0x00001100)
#define TSS_TCSCAP_PLATFORM_TYPE         (0x00001101)
#define TSS_TCSCAP_TRANS_EXCLUSIVE       (0x00002100)
#define TSS_TCSCAP_PROP_HOST_PLATFORM    (0x00003001)
#define TSS_TCSCAP_PROP_ALL_PLATFORMS    (0x00003002)

//
// TSS Service Provider Capabilities      
//
#define TSS_TSPCAP_ALG                   (0x00000010)
#define TSS_TSPCAP_VERSION               (0x00000011)
#define TSS_TSPCAP_PERSSTORAGE           (0x00000012)
#define TSS_TSPCAP_MANUFACTURER          (0x00000013)
#define TSS_TSPCAP_RETURNVALUE_INFO      (0x00000015)
#define TSS_TSPCAP_PLATFORM_INFO         (0x00000016)

// Sub-Capability Flags for TSS_TSPCAP_MANUFACTURER
//
#define TSS_TSPCAP_PROP_MANUFACTURER_STR (0x00000102)
#define TSS_TSPCAP_PROP_MANUFACTURER_ID  (0x00000103)

// Sub-Capability Flags for TSS_TSPCAP_PLATFORM_INFO
//
#define TSS_TSPCAP_PLATFORM_TYPE         (0x00000201)
#define TSS_TSPCAP_PLATFORM_VERSION      (0x00000202)



// Sub-Capability Flags for TSS_TSPCAP_RETURNVALUE_INFO
//
#define TSS_TSPCAP_PROP_RETURNVALUE_INFO (0x00000201)

//
// Event type definitions
//
#define TSS_EV_CODE_CERT                 (0x00000001)
#define TSS_EV_CODE_NOCERT               (0x00000002)
#define TSS_EV_XML_CONFIG                (0x00000003)
#define TSS_EV_NO_ACTION                 (0x00000004)
#define TSS_EV_SEPARATOR                 (0x00000005)
#define TSS_EV_ACTION                    (0x00000006)
#define TSS_EV_PLATFORM_SPECIFIC         (0x00000007)


//
// TSP random number limits
//
#define TSS_TSPCAP_RANDOMLIMIT     (0x00001000)   // Errata: Missing from spec

//
// UUIDs
//
// Errata: This are not in the spec
#define TSS_UUID_SRK  {0, 0, 0, 0, 0, {0, 0, 0, 0, 0, 1}} // Storage root key
#define TSS_UUID_SK   {0, 0, 0, 0, 0, {0, 0, 0, 0, 0, 2}} // System key
#define TSS_UUID_RK   {0, 0, 0, 0, 0, {0, 0, 0, 0, 0, 3}} // roaming key
#define TSS_UUID_CRK  {0, 0, 0, 0, 0, {0, 0, 0, 0, 0, 8}} // CMK roaming key
#define TSS_UUID_USK1 {0, 0, 0, 0, 0, {0, 0, 0, 0, 0, 4}} // user storage key 1
#define TSS_UUID_USK2 {0, 0, 0, 0, 0, {0, 0, 0, 0, 0, 5}} // user storage key 2
#define TSS_UUID_USK3 {0, 0, 0, 0, 0, {0, 0, 0, 0, 0, 6}} // user storage key 3
#define TSS_UUID_USK4 {0, 0, 0, 0, 0, {0, 0, 0, 0, 0, 7}} // user storage key 4
#define TSS_UUID_USK5 {0, 0, 0, 0, 0, {0, 0, 0, 0, 0, 9}} // user storage key 5
#define TSS_UUID_USK6 {0, 0, 0, 0, 0, {0, 0, 0, 0, 0, 10}}// user storage key 6

// macro to derive UUIDs for keys whose "OwnerEvict" key is set.
#define TSS_UUID_OWNEREVICT(i) {0, 0, 0, 0, 0, {0, 0, 0, 0, 1, (i)}}


//
// TPM well-known secret
//
#define TSS_WELL_KNOWN_SECRET \
        {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}


// Values for the "direction" parameters in the Tspi_PcrComposite_XX functions.
#define TSS_PCRS_DIRECTION_CREATION                        ((UINT32)1)
#define TSS_PCRS_DIRECTION_RELEASE                         ((UINT32)2)


//
// TSS blob version definition for ASN.1 blobs
//
#define TSS_BLOB_STRUCT_VERSION                              0x01

//
// TSS blob type definitions for ASN.1 blobs
//
#define TSS_BLOB_TYPE_KEY                                    0x01
#define TSS_BLOB_TYPE_PUBKEY                                 0x02
#define TSS_BLOB_TYPE_MIGKEY                                 0x03
#define TSS_BLOB_TYPE_SEALEDDATA                             0x04
#define TSS_BLOB_TYPE_BOUNDDATA                              0x05
#define TSS_BLOB_TYPE_MIGTICKET                              0x06
#define TSS_BLOB_TYPE_PRIVATEKEY                             0x07
#define TSS_BLOB_TYPE_PRIVATEKEY_MOD1                        0x08
#define TSS_BLOB_TYPE_RANDOM_XOR                             0x09
#define TSS_BLOB_TYPE_CERTIFY_INFO                           0x0A
#define TSS_BLOB_TYPE_KEY_1_2                                0x0B
#define TSS_BLOB_TYPE_CERTIFY_INFO_2                         0x0C
#define TSS_BLOB_TYPE_CMK_MIG_KEY                            0x0D
#define TSS_BLOB_TYPE_CMK_BYTE_STREAM                        0x0E



//
// Values for TPM_CMK_DELEGATE bitmasks
// For now these are exactly the same values as the corresponding
// TPM_CMK_DELEGATE_* bitmasks.
//
#define TSS_CMK_DELEGATE_SIGNING       (((UINT32)1)<<31)
#define TSS_CMK_DELEGATE_STORAGE       (((UINT32)1)<<30)
#define TSS_CMK_DELEGATE_BIND          (((UINT32)1)<<29)
#define TSS_CMK_DELEGATE_LEGACY        (((UINT32)1)<<28)
#define TSS_CMK_DELEGATE_MIGRATE       (((UINT32)1)<<27)


//
// Constants for DAA
//
#define TSS_DAA_LENGTH_N                256             // Length of the RSA Modulus (2048 bits)
#define TSS_DAA_LENGTH_F                13              // Length of the f_i's (information encoded into the certificate, 104 bits)
#define TSS_DAA_LENGTH_E                46              // Length of the e's (exponents, part of certificate, 386 bits)
#define TSS_DAA_LENGTH_E_PRIME          15              // Length of the interval the e's are chosen from (120 bits)
#define TSS_DAA_LENGTH_V                317             // Length of the v's (random value, part of certificate, 2536 bits)
#define TSS_DAA_LENGTH_SAFETY           10              // Length of the security parameter controlling the statistical zero-knowledge property (80 bits)
#define TSS_DAA_LENGTH_HASH     TPM_SHA1_160_HASH_LEN   // Length of the output of the hash function SHA-1 used for the Fiat-Shamir heuristic(160 bits)
#define TSS_DAA_LENGTH_S                128             // Length of the split large exponent for easier computations on the TPM (1024 bits)
#define TSS_DAA_LENGTH_GAMMA            204             // Length of the modulus 'Gamma' (1632 bits)
#define TSS_DAA_LENGTH_RHO              26              // Length of the order 'rho' of the sub group of Z*_Gamma that is used for roggue tagging (208 bits)
#define TSS_DAA_LENGTH_MFG1_GAMMA       214             // Length of the output of MGF1 in conjunction with the modulus Gamma (1712 bits)
#define TSS_DAA_LENGTH_MGF1_AR          25              // Length of the output of MGF1 used for anonymity revocation (200 bits)


#endif // __TSS_DEFINES_H__

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -