6 #ifndef FAPI_POLICY_EXECUTE_H
7 #define FAPI_POLICY_EXECUTE_H
13 #include <json-c/json.h>
14 #include <json-c/json_util.h>
16 #include "tss2_esys.h"
17 #include "tss2_fapi.h"
24 typedef TSS2_RC(*Policy_Compare_Object)(
50 typedef TSS2_RC (*ifapi_policyexec_cbauth) (
57 typedef TSS2_RC (*ifapi_policyexec_cbdup) (
61 typedef TSS2_RC (*ifapi_policyexec_cbpolsel) (
66 typedef TSS2_RC (*ifapi_policyexec_cbsign) (
68 char *public_key_hint,
69 TPMI_ALG_HASH key_pem_hash_alg,
72 const uint8_t **signature,
73 size_t *signature_size,
76 typedef TSS2_RC (*ifapi_policyexec_cbauthpol) (
77 TPMT_PUBLIC *key_public,
78 TPMI_ALG_HASH hash_alg,
80 TPM2B_NONCE *policyRef,
81 TPMT_SIGNATURE *signature,
84 typedef TSS2_RC (*ifapi_policyexec_cbauthnv) (
85 TPM2B_NV_PUBLIC *nv_public,
86 TPMI_ALG_HASH hash_alg,
89 typedef TSS2_RC (*ifapi_policyexec_cbaction) (
96 void *cbauth_userdata;
99 void *cbpolsel_userdata;
101 void *cbsign_userdata;
103 void *cbauthpol_userdata;
105 void *cbauthnv_userdata;
108 void *cbdup_userdata;
110 void *cbaction_userdata;
114 enum IFAPI_STATE_POLICY_EXCECUTE {
115 POLICY_EXECUTE_INIT = 0,
116 POLICY_EXECUTE_FINISH,
117 POLICY_EXECUTE_CALLBACK,
121 POLICY_AUTH_CALLBACK,
127 typedef struct IFAPI_POLICY_CALLBACK_CTX IFAPI_POLICY_CALLBACK_CTX;
131 enum IFAPI_STATE_POLICY_EXCECUTE
state;
134 TPML_DIGEST digest_list;
146 TPMI_ALG_HASH hash_alg;
149 TPM2B_DIGEST *nonceTPM;
166 TPMI_ALG_HASH hash_alg,
uint32_t ESYS_TR
Definition: tss2_esys.h:16
Definition: esys_int.h:160
TSS2_RC ifapi_extend_authorization(TPMS_POLICY *policy, TPMS_POLICYAUTHORIZATION *authorization)
Definition: ifapi_policy_execute.c:92
TSS2_RC ifapi_policyeval_execute_prepare(IFAPI_POLICY_EXEC_CTX *pol_ctx, TPMI_ALG_HASH hash_alg, TPMS_POLICY *policy)
Definition: ifapi_policy_execute.c:1669
TSS2_RC ifapi_policyeval_execute(ESYS_CONTEXT *esys_ctx, IFAPI_POLICY_EXEC_CTX *current_policy)
Definition: ifapi_policy_execute.c:1712
Definition: ifapi_keystore.h:145
Definition: ifapi_policy_execute.h:130
void * app_data
Definition: ifapi_policy_execute.h:147
ifapi_policyeval_EXEC_CB callbacks
Definition: ifapi_policy_execute.h:157
enum IFAPI_STATE_POLICY_EXCECUTE state
Definition: ifapi_policy_execute.h:131
NODE_OBJECT_T * policy_elements
Definition: ifapi_policy_execute.h:148
ESYS_TR policySessionSav
Definition: ifapi_policy_execute.h:139
bool flush_handle
Definition: ifapi_policy_execute.h:156
struct POLICY_LIST * policy_list
Definition: ifapi_policy_execute.h:154
IFAPI_POLICY_EXEC_CTX * prev
Definition: ifapi_policy_execute.h:136
ESYS_TR session
Definition: ifapi_policy_execute.h:137
IFAPI_OBJECT auth_objectNV
Definition: ifapi_policy_execute.h:143
IFAPI_POLICY_EXEC_CTX * next
Definition: ifapi_policy_execute.h:135
IFAPI_OBJECT * auth_object
Definition: ifapi_policy_execute.h:144
char * pem_key
Definition: ifapi_policy_execute.h:153
Definition: ifapi_policy_execute.h:34
const char * path
Definition: ifapi_policy_execute.h:35
struct POLICY_LIST * next
Definition: ifapi_policy_execute.h:37
TPMS_POLICY policy
Definition: ifapi_policy_execute.h:36
Definition: ifapi_policy_types.h:239
Definition: ifapi_policy_types.h:128
Definition: ifapi_policy_types.h:291
Definition: ifapi_policy_execute.h:93
ifapi_policyexec_cbpolsel cbpolsel
Definition: ifapi_policy_execute.h:97
ifapi_policyexec_cbdup cbdup
Definition: ifapi_policy_execute.h:106
ifapi_policyexec_cbauthnv cbauthnv
Definition: ifapi_policy_execute.h:104
ifapi_policyexec_cbauth cbauth
Definition: ifapi_policy_execute.h:94
ifapi_policyexec_cbaction cbaction
Definition: ifapi_policy_execute.h:109
ifapi_policyexec_cbauthpol cbauthpol
Definition: ifapi_policy_execute.h:102
ifapi_policyexec_cbsign cbsign
Definition: ifapi_policy_execute.h:100
Definition: fapi_types.h:34
Definition: ifapi_policy_execute.h:44
const char * path
Definition: ifapi_policy_execute.h:45
TPMS_POLICY policy
Definition: ifapi_policy_execute.h:46
struct policy_object_node * next
Definition: ifapi_policy_execute.h:47