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

📄 tss_defines.h

📁 TCG软件栈 linux系统上使用 为可信应用软件提供和 TPM通信的 接口 其网站上有很多关于使用此软件的测试用例
💻 H
📖 第 1 页 / 共 4 页
字号:
//
// none

//
// Attribute subflags TSS_MIGATTRIB_AUTHORITY_DATA
//
#define TSS_MIGATTRIB_AUTHORITY_DIGEST                 (0x00000301)
#define TSS_MIGATTRIB_AUTHORITY_APPROVAL_HMAC          (0x00000302)
#define TSS_MIGATTRIB_AUTHORITY_MSALIST                (0x00000303)

//
// Attribute subflags TSS_MIGATTRIB_MIG_AUTH_DATA
//
#define TSS_MIGATTRIB_MIG_AUTH_AUTHORITY_DIGEST        (0x00000401)
#define TSS_MIGATTRIB_MIG_AUTH_DESTINATION_DIGEST      (0x00000402)
#define TSS_MIGATTRIB_MIG_AUTH_SOURCE_DIGEST           (0x00000403)

//
// Attribute subflags TSS_MIGATTRIB_TICKET_DATA
//
#define TSS_MIGATTRIB_TICKET_SIG_DIGEST                (0x00000501)
#define TSS_MIGATTRIB_TICKET_SIG_VALUE                 (0x00000502)
#define TSS_MIGATTRIB_TICKET_SIG_TICKET                (0x00000503)
#define TSS_MIGATTRIB_TICKET_RESTRICT_TICKET           (0x00000504)

//
// Attribute subflags TSS_MIGATTRIB_PAYLOAD_TYPE
//
#define TSS_MIGATTRIB_PT_MIGRATE_RESTRICTED            (0x00000601)
#define TSS_MIGATTRIB_PT_MIGRATE_EXTERNAL              (0x00000602)




//***************
// Hash object: *
//***************

//
// Attributes
//
#define TSS_TSPATTRIB_HASH_IDENTIFIER (0x00001000) // Hash algorithm identifier
#define TSS_TSPATTRIB_ALG_IDENTIFIER  (0x00002000) // ASN.1 alg identifier



//***************
// PCRs object: *
//***************

//
// Attributes
//
#define TSS_TSPATTRIB_PCRS_INFO  (0x00000001) // info 

//
// Subflags for TSS_TSPATTRIB_PCRS_INFO flag
//
#define TSS_TSPATTRIB_PCRSINFO_PCRSTRUCT (0x00000001) // type of pcr struct
                                                      // TSS_PCRS_STRUCT_TYPE_XX

//****************************
// Delegation Family object: *
//****************************

//
// Attributes
//
#define TSS_TSPATTRIB_DELFAMILY_STATE            (0x00000001)
#define TSS_TSPATTRIB_DELFAMILY_INFO             (0x00000002)

// DELFAMILY_STATE sub-attributes
#define TSS_TSPATTRIB_DELFAMILYSTATE_LOCKED      (0x00000001)
#define TSS_TSPATTRIB_DELFAMILYSTATE_ENABLED     (0x00000002)

// DELFAMILY_INFO sub-attributes
#define TSS_TSPATTRIB_DELFAMILYINFO_LABEL        (0x00000003)
#define TSS_TSPATTRIB_DELFAMILYINFO_VERCOUNT     (0x00000004)
#define TSS_TSPATTRIB_DELFAMILYINFO_FAMILYID     (0x00000005)

// Bitmasks for the 'ulFlags' argument to Tspi_TPM_Delegate_CreateDelegation.
// Only one bit used for now.
#define TSS_DELEGATE_INCREMENTVERIFICATIONCOUNT               ((UINT32)1)

// Bitmasks for the 'ulFlags' argument to
// Tspi_TPM_Delegate_CacheOwnerDelegation. Only 1 bit is used for now.
#define TSS_DELEGATE_CACHEOWNERDELEGATION_OVERWRITEEXISTING   ((UINT32)1)



//*************************
// DAA Credential Object: *
//*************************

//
// Attribute flags
//
#define TSS_TSPATTRIB_DAACRED_COMMIT                   (0x00000001)
#define TSS_TSPATTRIB_DAACRED_ATTRIB_GAMMAS            (0x00000002)
#define TSS_TSPATTRIB_DAACRED_CREDENTIAL_BLOB          (0x00000003)
#define TSS_TSPATTRIB_DAACRED_CALLBACK_SIGN            (0x00000004)
#define TSS_TSPATTRIB_DAACRED_CALLBACK_VERIFYSIGNATURE (0x00000005)

//
// Subflags for TSS_TSPATTRIB_DAACRED_COMMIT
// 
#define TSS_TSPATTRIB_DAACOMMIT_NUMBER              (0x00000001)
#define TSS_TSPATTRIB_DAACOMMIT_SELECTION           (0x00000002)
#define TSS_TSPATTRIB_DAACOMMIT_COMMITMENTS         (0x00000003)

//
// Subflags for TSS_TSPATTRIB_DAACRED_ATTRIB_GAMMAS
// 
#define TSS_TSPATTRIB_DAAATTRIBGAMMAS_BLOB          (0xffffffff)



//*************************
// DAA Issuer Key Object: *
//*************************

//
// Attribute flags
//
#define TSS_TSPATTRIB_DAAISSUERKEY_BLOB              (0x00000001)
#define TSS_TSPATTRIB_DAAISSUERKEY_PUBKEY            (0x00000002)

//
// Subflags for TSS_TSPATTRIB_DAAISSUERKEY_BLOB
// 
#define TSS_TSPATTRIB_DAAISSUERKEYBLOB_PUBLIC_KEY     (0x00000001)
#define TSS_TSPATTRIB_DAAISSUERKEYBLOB_SECRET_KEY     (0x00000002)
#define TSS_TSPATTRIB_DAAISSUERKEYBLOB_KEYBLOB        (0x00000003)
#define TSS_TSPATTRIB_DAAISSUERKEYBLOB_PROOF          (0x00000004)

//
// Subflags for TSS_TSPATTRIB_DAAISSUERKEY_PUBKEY
// 
#define TSS_TSPATTRIB_DAAISSUERKEYPUBKEY_NUM_ATTRIBS          (0x00000001)
#define TSS_TSPATTRIB_DAAISSUERKEYPUBKEY_NUM_PLATFORM_ATTRIBS (0x00000002)
#define TSS_TSPATTRIB_DAAISSUERKEYPUBKEY_NUM_ISSUER_ATTRIBS   (0x00000003)



//***************************************
// DAA Anonymity Revocation Key Object: *
//***************************************

//
// Attribute flags
//
#define TSS_TSPATTRIB_DAAARAKEY_BLOB                 (0x00000001)

//
// Subflags for TSS_TSPATTRIB_DAAARAKEY_BLOB
// 
#define TSS_TSPATTRIB_DAAARAKEYBLOB_PUBLIC_KEY     (0x00000001)
#define TSS_TSPATTRIB_DAAARAKEYBLOB_SECRET_KEY     (0x00000002)
#define TSS_TSPATTRIB_DAAARAKEYBLOB_KEYBLOB        (0x00000003)



//
// Structure payload flags for TSS_DAA_PSEUDONYM,
// (TSS_DAA_PSEUDONYM.payloadFlag)
//
#define TSS_FLAG_DAA_PSEUDONYM_PLAIN                 (0x00000000)
#define TSS_FLAG_DAA_PSEUDONYM_ENCRYPTED             (0x00000001)


//**************
// Key Object: *
//**************

//
// Attribute flags
//
#define TSS_TSPATTRIB_KEY_BLOB       (0x00000040) // key info as blob data
#define TSS_TSPATTRIB_KEY_INFO       (0x00000080) // keyparam info as blob data
#define TSS_TSPATTRIB_KEY_UUID       (0x000000C0) // key UUID info as blob data
#define TSS_TSPATTRIB_KEY_PCR        (0x00000100) // composite digest value for
                                                  // the key
#define TSS_TSPATTRIB_RSAKEY_INFO    (0x00000140) // public key info
#define TSS_TSPATTRIB_KEY_REGISTER   (0x00000180) // register location
#define TSS_TSPATTRIB_KEY_PCR_LONG   (0x000001c0) // PCR_INFO_LONG for the key
#define TSS_TSPATTRIB_KEY_CONTROLBIT (0x00000200) // key control flags
#define TSS_TSPATTRIB_KEY_CMKINFO    (0x00000400) // CMK info

//
// SubFlags for Flag TSS_TSPATTRIB_KEY_BLOB
//
#define TSS_TSPATTRIB_KEYBLOB_BLOB        (0x00000008) // key info using the
                                                       // key blob
#define TSS_TSPATTRIB_KEYBLOB_PUBLIC_KEY  (0x00000010) // public key info
                                                       // using the blob
#define TSS_TSPATTRIB_KEYBLOB_PRIVATE_KEY (0x00000028) // encrypted private key
                                                       // blob

//
// SubFlags for Flag TSS_TSPATTRIB_KEY_INFO
//
#define TSS_TSPATTRIB_KEYINFO_SIZE          (0x00000080) // key size in bits
#define TSS_TSPATTRIB_KEYINFO_USAGE         (0x00000100) // key usage info
#define TSS_TSPATTRIB_KEYINFO_KEYFLAGS      (0x00000180) // key flags   
#define TSS_TSPATTRIB_KEYINFO_AUTHUSAGE     (0x00000200) // key auth usage info
#define TSS_TSPATTRIB_KEYINFO_ALGORITHM     (0x00000280) // key algorithm ID
#define TSS_TSPATTRIB_KEYINFO_SIGSCHEME     (0x00000300) // key sig scheme
#define TSS_TSPATTRIB_KEYINFO_ENCSCHEME     (0x00000380) // key enc scheme   
#define TSS_TSPATTRIB_KEYINFO_MIGRATABLE    (0x00000400) // if true then key is
                                                         // migratable
#define TSS_TSPATTRIB_KEYINFO_REDIRECTED    (0x00000480) // key is redirected
#define TSS_TSPATTRIB_KEYINFO_VOLATILE      (0x00000500) // if true key is
                                                         // volatile
#define TSS_TSPATTRIB_KEYINFO_AUTHDATAUSAGE (0x00000580) // if true auth is
                                                         // required
#define TSS_TSPATTRIB_KEYINFO_VERSION       (0x00000600) // version info as TSS
                                                         // version struct
#define TSS_TSPATTRIB_KEYINFO_CMK           (0x00000680) // if true then key
                                                         // is certified
                                                         // migratable
#define TSS_TSPATTRIB_KEYINFO_KEYSTRUCT     (0x00000700) // type of key struct
                                                         // used for this key
                                                         // (TPM_KEY or 
                                                         // TPM_KEY12)
#define TSS_TSPATTRIB_KEYCONTROL_OWNEREVICT (0x00000780) // Get current status
							 // of owner evict flag

//
// SubFlags for Flag TSS_TSPATTRIB_RSAKEY_INFO
//
#define TSS_TSPATTRIB_KEYINFO_RSA_EXPONENT  (0x00001000)
#define TSS_TSPATTRIB_KEYINFO_RSA_MODULUS   (0x00002000)
#define TSS_TSPATTRIB_KEYINFO_RSA_KEYSIZE   (0x00003000)
#define TSS_TSPATTRIB_KEYINFO_RSA_PRIMES    (0x00004000)

//
// SubFlags for Flag TSS_TSPATTRIB_KEY_PCR
//
#define TSS_TSPATTRIB_KEYPCR_DIGEST_ATCREATION  (0x00008000)
#define TSS_TSPATTRIB_KEYPCR_DIGEST_ATRELEASE   (0x00010000)
#define TSS_TSPATTRIB_KEYPCR_SELECTION          (0x00018000)

//
// SubFlags for TSS_TSPATTRIB_KEY_REGISTER
//
#define TSS_TSPATTRIB_KEYREGISTER_USER    (0x02000000)
#define TSS_TSPATTRIB_KEYREGISTER_SYSTEM  (0x04000000)
#define TSS_TSPATTRIB_KEYREGISTER_NO      (0x06000000)

//
// SubFlags for Flag TSS_TSPATTRIB_KEY_PCR_LONG
//
#define TSS_TSPATTRIB_KEYPCRLONG_LOCALITY_ATCREATION (0x00040000) /* UINT32 */
#define TSS_TSPATTRIB_KEYPCRLONG_LOCALITY_ATRELEASE  (0x00080000) /* UINT32 */
#define TSS_TSPATTRIB_KEYPCRLONG_CREATION_SELECTION  (0x000C0000) /* DATA */
#define TSS_TSPATTRIB_KEYPCRLONG_RELEASE_SELECTION   (0x00100000) /* DATA */
#define TSS_TSPATTRIB_KEYPCRLONG_DIGEST_ATCREATION   (0x00140000) /* DATA */
#define TSS_TSPATTRIB_KEYPCRLONG_DIGEST_ATRELEASE    (0x00180000) /* DATA */

//
// SubFlags for Flag TSS_TSPATTRIB_KEY_CMKINFO
//
#define TSS_TSPATTRIB_KEYINFO_CMK_MA_APPROVAL  (0x00000010)
#define TSS_TSPATTRIB_KEYINFO_CMK_MA_DIGEST    (0x00000020)


//
// Attribute Values
//

//
// key size definitions
//
#define TSS_KEY_SIZEVAL_512BIT      (0x0200)
#define TSS_KEY_SIZEVAL_1024BIT     (0x0400)
#define TSS_KEY_SIZEVAL_2048BIT     (0x0800)
#define TSS_KEY_SIZEVAL_4096BIT     (0x1000)
#define TSS_KEY_SIZEVAL_8192BIT     (0x2000)
#define TSS_KEY_SIZEVAL_16384BIT    (0x4000)

//
// key usage definitions
// Values intentionally moved away from corresponding TPM values to avoid
// possible misuse
//
#define TSS_KEYUSAGE_BIND           (0x00)   
#define TSS_KEYUSAGE_IDENTITY       (0x01)   
#define TSS_KEYUSAGE_LEGACY         (0x02)   
#define TSS_KEYUSAGE_SIGN           (0x03)   
#define TSS_KEYUSAGE_STORAGE        (0x04)
#define TSS_KEYUSAGE_AUTHCHANGE     (0x05)
#define TSS_KEYUSAGE_MIGRATE        (0x06)

//
// key flag definitions
//
#define TSS_KEYFLAG_REDIRECTION          (0x00000001)
#define TSS_KEYFLAG_MIGRATABLE           (0x00000002)
#define TSS_KEYFLAG_VOLATILEKEY          (0x00000004)
#define TSS_KEYFLAG_CERTIFIED_MIGRATABLE (0x00000008)

//
//  algorithm ID definitions
//
//  This table defines the algo id's
//  Values intentionally moved away from corresponding TPM values to avoid
//  possible misuse
//
#define   TSS_ALG_RSA               (0x20)
#define   TSS_ALG_DES               (0x21)
#define   TSS_ALG_3DES              (0x22)
#define   TSS_ALG_SHA               (0x23)
#define   TSS_ALG_HMAC              (0x24)
#define   TSS_ALG_AES128            (0x25)
#define   TSS_ALG_AES192            (0x26)
#define   TSS_ALG_AES256            (0x27)
#define   TSS_ALG_XOR               (0x28)
#define   TSS_ALG_MGF1              (0x29)

#define   TSS_ALG_AES               TSS_ALG_AES128

// Special values for 

⌨️ 快捷键说明

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