6#ifndef FAPI_POLICY_CALLBACKS_H
7#define FAPI_POLICY_CALLBACKS_H
13#include "ifapi_keystore.h"
14#include "ifapi_policy_types.h"
15#include "tss2_common.h"
17#include "tss2_policy.h"
18#include "tss2_tpm2_types.h"
21enum IFAPI_STATE_POL_CB_EXCECUTE {
22 POL_CB_EXECUTE_INIT = 0,
24 POL_CB_LOAD_KEY_FINISH,
26 POL_CB_EXECUTE_SUB_POLICY,
28 POL_CB_READ_NV_POLICY,
30 POL_CB_AUTHORIZE_OBJECT,
54 TPM2B_DIGEST policy_digest;
66ifapi_get_nv_public(
const char *path,
67 TPMI_RH_NV_INDEX nv_index,
68 TPMS_NV_PUBLIC *nv_public,
72ifapi_read_pcr(TSS2_POLICY_PCR_SELECTION *pcr_selection,
73 TPML_PCR_SELECTION *out_pcr_selection,
74 TPML_DIGEST *out_pcr_digests,
85ifapi_policyeval_cbload_key(TPM2B_NAME *name,
ESYS_TR *object_handle,
void *userdata);
88ifapi_branch_selection(TSS2_OBJECT *auth_object,
89 const char *branch_names[8],
95ifapi_sign_buffer(
char *key_pem,
96 char *public_key_hint,
97 TPMI_ALG_HASH key_pem_hash_alg,
100 const uint8_t **signature,
101 size_t *signature_size,
105ifapi_exec_auth_policy(TPMT_PUBLIC *key_public,
106 TPMI_ALG_HASH hash_alg,
107 TPM2B_DIGEST *digest,
108 TPM2B_NONCE *policyRef,
109 TPMT_SIGNATURE *signature,
113ifapi_exec_auth_nv_policy(TPMS_NV_PUBLIC *nv_public, TPMI_ALG_HASH hash_alg,
void *userdata);
uint32_t ESYS_TR
Definition tss2_esys.h:16
TSS2_RC ifapi_policyeval_cbauth(TPM2B_NAME *name, ESYS_TR *object_handle, ESYS_TR *auth_handle, ESYS_TR *authSession, void *userdata)
Definition ifapi_policy_callbacks.c:439
TSS2_RC ifapi_get_key_public(const char *path, TPMT_PUBLIC *public, void *context)
Definition ifapi_policy_callbacks.c:89
TSS2_RC ifapi_get_object_name(const char *path, TPM2B_NAME *name, void *context)
Definition ifapi_policy_callbacks.c:156
TSS2_RC ifapi_policy_action(const char *action, void *userdata)
Definition ifapi_policy_callbacks.c:767
TSS2_RC ifapi_get_duplicate_name(TPM2B_NAME *name, void *userdata)
Definition ifapi_policy_callbacks.c:1558
Definition fapi_int.h:632
Definition fapi_int.h:776
Definition fapi_int.h:240
Definition ifapi_keystore.h:153
Definition ifapi_policy_callbacks.h:35
ESYS_TR flush_handle
Definition ifapi_policy_callbacks.h:43
char * object_path
Definition ifapi_policy_callbacks.h:38
ESYS_TR key_handle
Definition ifapi_policy_callbacks.h:40
IFAPI_OBJECT object
Definition ifapi_policy_callbacks.h:39
ESYS_TR nv_index
Definition ifapi_policy_callbacks.h:41
IFAPI_OBJECT auth_object
Definition ifapi_policy_callbacks.h:44
enum IFAPI_STATE_POL_CB_EXCECUTE cb_state
Definition ifapi_policy_callbacks.h:36
ESYS_TR * enc_session
Definition ifapi_policy_callbacks.h:45
IFAPI_NV_Cmds nv_cmd_state_sav
Definition ifapi_policy_callbacks.h:53
ESYS_TR auth_index
Definition ifapi_policy_callbacks.h:42
Definition ifapi_policy_types.h:281