14#include "tss2_common.h"
17#include "tss2_tpm2_types.h"
34#define ESYS_TR_MIN_OBJECT (TPM2_RH_LAST + 1 + 0x1000)
39void iesys_DeleteAllResourceObjects(
ESYS_CONTEXT *esys_context);
41TSS2_RC iesys_compute_encrypt_nonce(
ESYS_CONTEXT *esysContext,
43 TPM2B_NONCE **encryptNonce);
48TSS2_RC iesys_handle_to_tpm_handle(
ESYS_TR esys_handle, TPM2_HANDLE *tpm_handle);
50bool iesys_is_platform_handle(
ESYS_TR handle);
54TPM2_HT iesys_get_handle_type(TPM2_HANDLE handle);
61TSS2_RC iesys_compute_encrypted_salt(
ESYS_CONTEXT *esysContext,
63 TPM2B_ENCRYPTED_SECRET *encryptedSalt);
65TSS2_RC iesys_gen_caller_nonces(
ESYS_CONTEXT *esysContext);
68iesys_encrypt_param(
ESYS_CONTEXT *esysContext, TPM2B_NONCE **decryptNonce,
int *decryptNonceIdx);
72TSS2_RC iesys_check_rp_hmacs(
ESYS_CONTEXT *esysContext, TSS2L_SYS_AUTH_RESPONSE *rspAuths);
74void iesys_compute_bound_entity(
const TPM2B_NAME *name,
75 const TPM2B_AUTH *auth,
76 TPM2B_NAME *bound_entity);
78bool iesys_is_object_bound(
const TPM2B_NAME *name,
const TPM2B_AUTH *auth,
RSRC_NODE_T *session);
80TSS2_RC iesys_check_sequence_async(
ESYS_CONTEXT *esysContext);
85void iesys_compute_session_value(
RSRC_NODE_T *session,
86 const TPM2B_NAME *name,
87 const TPM2B_AUTH *auth_value);
91 TPM2B_NONCE *decryptNonce,
92 TPM2B_NONCE *encryptNonce,
93 TPMS_AUTH_COMMAND *auth);
99 TSS2L_SYS_AUTH_COMMAND *auths);
101TSS2_RC iesys_check_response(
ESYS_CONTEXT *esys_context);
109bool iesys_tpm_error(TSS2_RC r);
112 TPM2B_AUTH *auth_value,
113 TPMI_ALG_HASH hash_alg);
115void iesys_strip_trailing_zeros(TPM2B_AUTH *auth_value);
117TSS2_RC iesys_compute_cp_hash(
ESYS_CONTEXT *esys_context,
118 TPMI_ALG_HASH hash_alg,
120 size_t *cp_hash_size);
122TSS2_RC iesys_compute_rp_hash(
ESYS_CONTEXT *esys_context,
123 TPMI_ALG_HASH hash_alg,
125 size_t *rp_hash_size);
uint32_t ESYS_TR
Definition tss2_esys.h:16
Definition esys_int.h:168
Definition tss2_esys.h:384