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

📄 trousers.h

📁 TCG软件栈 linux系统上使用 为可信应用软件提供和 TPM通信的 接口 其网站上有很多关于使用此软件的测试用例
💻 H
📖 第 1 页 / 共 2 页
字号:
/* Functions to support incremental hashing */TSS_RESULT Trspi_Hash_UINT16(Trspi_HashCtx *c, UINT16 i);TSS_RESULT Trspi_Hash_UINT32(Trspi_HashCtx *c, UINT32 i);TSS_RESULT Trspi_Hash_UINT64(Trspi_HashCtx *c, UINT64 i);TSS_RESULT Trspi_Hash_DAA_PK(Trspi_HashCtx *c, TSS_DAA_PK *pk);TSS_RESULT Trspi_Hash_PUBKEY(Trspi_HashCtx *c, TCPA_PUBKEY *pubKey);TSS_RESULT Trspi_Hash_BYTE(Trspi_HashCtx *c, BYTE data);TSS_RESULT Trspi_Hash_BOOL(Trspi_HashCtx *c, TSS_BOOL data);TSS_RESULT Trspi_Hash_RSA_KEY_PARMS(Trspi_HashCtx *c, TCPA_RSA_KEY_PARMS *parms);TSS_RESULT Trspi_Hash_VERSION(Trspi_HashCtx *c, TSS_VERSION *version);TSS_RESULT Trspi_Hash_STORED_DATA(Trspi_HashCtx *c, TCPA_STORED_DATA *data);TSS_RESULT Trspi_Hash_PCR_SELECTION(Trspi_HashCtx *c, TCPA_PCR_SELECTION *pcr);TSS_RESULT Trspi_Hash_KEY(Trspi_HashCtx *c, TCPA_KEY *key);TSS_RESULT Trspi_Hash_KEY12(Trspi_HashCtx *c, TPM_KEY12 *key);TSS_RESULT Trspi_Hash_KEY_FLAGS(Trspi_HashCtx *c, TCPA_KEY_FLAGS *flags);TSS_RESULT Trspi_Hash_KEY_PARMS(Trspi_HashCtx *c, TCPA_KEY_PARMS *keyInfo);TSS_RESULT Trspi_Hash_STORE_PUBKEY(Trspi_HashCtx *c, TCPA_STORE_PUBKEY *store);TSS_RESULT Trspi_Hash_UUID(Trspi_HashCtx *c, TSS_UUID uuid);TSS_RESULT Trspi_Hash_PCR_EVENT(Trspi_HashCtx *c, TSS_PCR_EVENT *event);TSS_RESULT Trspi_Hash_PRIVKEY_DIGEST(Trspi_HashCtx *c, TCPA_KEY *key);TSS_RESULT Trspi_Hash_PRIVKEY_DIGEST12(Trspi_HashCtx *c, TPM_KEY12 *key);TSS_RESULT Trspi_Hash_SYMMETRIC_KEY(Trspi_HashCtx *c, TCPA_SYMMETRIC_KEY *key);TSS_RESULT Trspi_Hash_IDENTITY_REQ(Trspi_HashCtx *c, TCPA_IDENTITY_REQ *req);TSS_RESULT Trspi_Hash_CHANGEAUTH_VALIDATE(Trspi_HashCtx *c, TPM_CHANGEAUTH_VALIDATE *caValidate);TSS_RESULT Trspi_Hash_SYM_CA_ATTESTATION(Trspi_HashCtx *c, TCPA_SYM_CA_ATTESTATION *sym);TSS_RESULT Trspi_Hash_ASYM_CA_CONTENTS(Trspi_HashCtx *c, TCPA_ASYM_CA_CONTENTS *asym);TSS_RESULT Trspi_Hash_BOUND_DATA(Trspi_HashCtx *c, TCPA_BOUND_DATA *bd, UINT32 payloadLength);TSS_RESULT Trspi_Hash_TRANSPORT_AUTH(Trspi_HashCtx *c, TPM_TRANSPORT_AUTH *a);TSS_RESULT Trspi_Hash_TRANSPORT_LOG_IN(Trspi_HashCtx *c, TPM_TRANSPORT_LOG_IN *l);TSS_RESULT Trspi_Hash_TRANSPORT_LOG_OUT(Trspi_HashCtx *c, TPM_TRANSPORT_LOG_OUT *l);TSS_RESULT Trspi_Hash_CURRENT_TICKS(Trspi_HashCtx *c, TPM_CURRENT_TICKS *t);TSS_RESULT Trspi_Hash_SIGN_INFO(Trspi_HashCtx *c, TPM_SIGN_INFO *s);TSS_RESULT Trspi_Hash_MSA_COMPOSITE(Trspi_HashCtx *c, TPM_MSA_COMPOSITE *m);#define Trspi_Hash_DIGEST(c, d)		Trspi_HashUpdate(c, TPM_SHA1_160_HASH_LEN, d)#define Trspi_Hash_NONCE(c, d)		Trspi_HashUpdate(c, TPM_SHA1_160_HASH_LEN, d)#define Trspi_Hash_ENCAUTH(c, d)	Trspi_HashUpdate(c, TPM_SHA1_160_HASH_LEN, d)#define Trspi_Hash_HMAC(c, d)		Trspi_HashUpdate(c, TPM_SHA1_160_HASH_LEN, d)#define Trspi_Hash_SECRET(c, d)		Trspi_HashUpdate(c, TPM_SHA1_160_HASH_LEN, d)UINT32 Trspi_HMAC(UINT32 HashType, UINT32 SecretSize, BYTE*Secret, UINT32 BufSize, BYTE*Buf, BYTE*hmacOut);/* RSA encrypt @dataToEncryptLen bytes at location @dataToEncrypt using public key * @publicKey of size @keysize. This data will be encrypted using OAEP padding in * the openssl library using the OAEP padding parameter "TCPA".  This will allow * data encrypted with this function to be decrypted by a TPM using non-legacy keys */int Trspi_RSA_Encrypt(unsigned char *dataToEncrypt,		unsigned int dataToEncryptLen,		unsigned char *encryptedData,		unsigned int *encryptedDataLen,		unsigned char *publicKey,		unsigned int keysize);TSS_RESULT Trspi_Verify(UINT32 HashType, BYTE *pHash, UINT32 iHashLength,			unsigned char *pModulus, int iKeyLength,			BYTE *pSignature, UINT32 sig_len);int Trspi_RSA_Public_Encrypt(unsigned char *in, unsigned int inlen,			     unsigned char *out, unsigned int *outlen,			     unsigned char *pubkey, unsigned int pubsize,			     unsigned int e, int padding);#define TR_RSA_PKCS1_PADDING		1#define TR_RSA_PKCS1_OAEP_PADDING	2#define TR_RSA_NO_PADDING		3#define Trspi_RSA_PKCS15_Encrypt(in,inlen,out,outlen,pubKey,pubSize) \        Trspi_RSA_Public_Encrypt(in,inlen,out,outlen,pubKey,pubSize,65537,TR_RSA_PKCS1_PADDING)#define Trspi_RSA_OAEP_Encrypt(in,inlen,out,outlen,pubKey,pubSize) \        Trspi_RSA_Public_Encrypt(in,inlen,out,outlen,pubKey,pubSize,65537, \				 TR_RSA_PKCS1_OAEP_PADDING)#define Trspi_TPM_RSA_OAEP_Encrypt(in,inlen,out,outlen,pubKey,pubSize) \        Trspi_RSA_Encrypt(in,inlen,out,outlen,pubKey,pubSize)/* Symmetric Encryption */TSS_RESULT Trspi_Encrypt_ECB(UINT16 alg, BYTE *key, BYTE *in, UINT32 in_len,			     BYTE *out, UINT32 *out_len);TSS_RESULT Trspi_Decrypt_ECB(UINT16 alg, BYTE *key, BYTE *in, UINT32 in_len,			     BYTE *out, UINT32 *out_len);#define TR_SYM_MODE_ECB	1#define TR_SYM_MODE_CBC	2#define TR_SYM_MODE_CTR	3#define TR_SYM_MODE_OFB	4TSS_RESULT Trspi_SymEncrypt(UINT16 alg, UINT16 mode, BYTE *key, BYTE *iv, BYTE *in, UINT32 in_len,			    BYTE *out, UINT32 *out_len);TSS_RESULT Trspi_SymDecrypt(UINT16 alg, UINT16 mode, BYTE *key, BYTE *iv, BYTE *in, UINT32 in_len,			    BYTE *out, UINT32 *out_len);TSS_RESULT Trspi_MGF1(UINT32 alg, UINT32 seedLen, BYTE *seed, UINT32 outLen, BYTE *out);/* String Functions *//* Below UNICODE is in reference to the TSS type of that name, which is * actually UTF-16. *//* Convert @string to a UNICODE string. On error, NULL is returned. If len * is non-NULL, *len will be set to the size of the returned buffer. */BYTE *Trspi_Native_To_UNICODE(BYTE *string, unsigned *len);/* convert UNICODE @string to a string from the current codeset. If len * is non-NULL, *len will be set to the size of the returned buffer. */BYTE *Trspi_UNICODE_To_Native(BYTE *string, unsigned *len);/* Error Functions *//* return a human readable string based on the result */char *Trspi_Error_String(TSS_RESULT);/* return a human readable error layer ( "tpm", "tddl", etc...) */char *Trspi_Error_Layer(TSS_RESULT);/* return just the error code bits of the result */TSS_RESULT Trspi_Error_Code(TSS_RESULT);#ifdef __cplusplus}#endif/* masks */#define TSS_KEY_SIZE_MASK	0x00000F00#define TSS_KEY_TYPE_MASK	0x000000F0#define TSS_ENCDATA_TYPE_MASK	0x0000000F/* These should be passed an TSS_FLAG parameter as to * Tspi_Context_CreateObject */#define TSS_KEY_SIZE(x)		(x & TSS_KEY_SIZE_MASK)#define TSS_KEY_TYPE(x)		(x & TSS_KEY_TYPE_MASK)#define TSS_ENCDATA_TYPE(x)	(x & TSS_ENCDATA_TYPE_MASK)#define TSS_LOCALITY_ALL       (TPM_LOC_ZERO|TPM_LOC_ONE|TPM_LOC_TWO|TPM_LOC_THREE|TPM_LOC_FOUR)#endif

⌨️ 快捷键说明

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