13 #include <json-c/json.h>
14 #include <json-c/json_util.h>
16 #include "util/aux_util.h"
17 #include "tss2_esys.h"
18 #include "tss2_fapi.h"
20 #include "ifapi_helpers.h"
30 TPMI_ALG_HASH hashAlg);
43 const char *description);
58 ifapi_init_primary_finish(
81 IFAPI_SESSION_TYPE session_flags,
82 TPMA_SESSION attribute_flags1,
83 TPMA_SESSION attribute_flags2);
89 TPMI_ALG_HASH hash_alg);
113 char const *keyPath);
159 TPM2B_DIGEST *digest,
160 TPMT_SIGNATURE **tpm_signature,
180 char const *policyPath);
186 char const *policyPath,
187 char const *authValue);
193 char const *policyPath,
195 char const *authValue,
196 uint8_t
const *data);
208 TPM2B_DIGEST *digest,
209 TPMT_SIG_SCHEME *sig_scheme);
216 TPM2B_AUTH *newAuthValue);
239 UINT32 count, TPMS_CAPABILITY_DATA **capability_data);
267 char const *key_path,
269 bool *in_null_hierarchy);
uint32_t ESYS_TR
Definition: tss2_esys.h:16
Definition: esys_int.h:160
TPM2_RC ifapi_capability_init(FAPI_CONTEXT *context)
Definition: fapi_util.c:4064
void ifapi_free_object(FAPI_CONTEXT *context, IFAPI_OBJECT **object)
Definition: fapi_util.c:4015
TSS2_RC ifapi_get_free_handle_finish(FAPI_CONTEXT *fctx, TPM2_HANDLE *handle, TPM2_HANDLE max)
Definition: fapi_util.c:494
TSS2_RC ifapi_get_sessions_async(FAPI_CONTEXT *context, IFAPI_SESSION_TYPE session_flags, TPMA_SESSION attribute_flags1, TPMA_SESSION attribute_flags2)
Definition: fapi_util.c:1317
TSS2_RC ifapi_load_key_finish(FAPI_CONTEXT *context, bool flush_parent)
Definition: fapi_util.c:1826
TSS2_RC ifapi_merge_profile_into_nv_template(FAPI_CONTEXT *context, IFAPI_NV_TEMPLATE *template)
Definition: fapi_util.c:1463
void ifapi_primary_clean(FAPI_CONTEXT *context)
Definition: fapi_util.c:1268
TSS2_RC ifapi_initialize_object(ESYS_CONTEXT *ectx, IFAPI_OBJECT *object)
Definition: fapi_util.c:3037
TSS2_RC ifapi_get_session_async(ESYS_CONTEXT *esys, ESYS_TR saltkey, const IFAPI_PROFILE *profile, TPMI_ALG_HASH hashAlg)
Definition: fapi_util.c:91
TSS2_RC ifapi_key_sign(FAPI_CONTEXT *context, IFAPI_OBJECT *sig_key_object, char const *padding, TPM2B_DIGEST *digest, TPMT_SIGNATURE **tpm_signature, char **publicKey, char **certificate)
Definition: fapi_util.c:2830
void ifapi_free_objects(FAPI_CONTEXT *context)
Definition: fapi_util.c:3996
TSS2_RC ifapi_get_json(FAPI_CONTEXT *context, IFAPI_OBJECT *object, char **json_string)
Definition: fapi_util.c:2949
IFAPI_OBJECT * ifapi_allocate_object(FAPI_CONTEXT *context)
Definition: fapi_util.c:3975
void ifapi_flush_policy_session(FAPI_CONTEXT *context, ESYS_TR session, TSS2_RC r)
Definition: fapi_util.c:2064
void ifapi_set_description(IFAPI_OBJECT *object, char *description)
Definition: fapi_util.c:4473
TSS2_RC ifapi_nv_write(FAPI_CONTEXT *context, char *nvPath, size_t param_offset, uint8_t const *data, size_t size)
Definition: fapi_util.c:2226
TSS2_RC ifapi_get_sig_scheme(FAPI_CONTEXT *context, IFAPI_OBJECT *object, char const *padding, TPM2B_DIGEST *digest, TPMT_SIG_SCHEME *sig_scheme)
Definition: fapi_util.c:3675
TSS2_RC ifapi_get_session_finish(ESYS_CONTEXT *esys, ESYS_TR *session, TPMA_SESSION flags)
Definition: fapi_util.c:117
TSS2_RC ifapi_merge_profile_into_template(const IFAPI_PROFILE *profile, IFAPI_KEY_TEMPLATE *template)
Definition: fapi_util.c:1502
TSS2_RC ifapi_key_create(FAPI_CONTEXT *context, IFAPI_KEY_TEMPLATE *template)
Definition: fapi_util.c:3320
void ifapi_session_clean(FAPI_CONTEXT *context)
Definition: fapi_util.c:1164
TSS2_RC ifapi_load_key(FAPI_CONTEXT *context, char const *keyPath, IFAPI_OBJECT **key_object)
Definition: fapi_util.c:2725
TSS2_RC ifapi_get_certificates(FAPI_CONTEXT *context, UINT32 min_handle, UINT32 max_handle, NODE_OBJECT_T **cert_list)
Definition: fapi_util.c:4268
TSS2_RC ifapi_cleanup_session(FAPI_CONTEXT *context)
Definition: fapi_util.c:1204
TSS2_RC ifapi_load_keys_async(FAPI_CONTEXT *context, char const *keyPath)
Definition: fapi_util.c:1634
TSS2_RC ifapi_load_key_async(FAPI_CONTEXT *context, size_t position)
Definition: fapi_util.c:1777
TSS2_RC ifapi_key_create_prepare_auth(FAPI_CONTEXT *context, char const *keyPath, char const *policyPath, char const *authValue)
Definition: fapi_util.c:3110
TSS2_RC ifapi_get_free_handle_async(FAPI_CONTEXT *fctx, TPM2_HANDLE *handle)
Definition: fapi_util.c:469
TSS2_RC ifapi_nv_read(FAPI_CONTEXT *context, uint8_t **data, size_t *size)
Definition: fapi_util.c:2480
TSS2_RC ifapi_get_sessions_finish(FAPI_CONTEXT *context, const IFAPI_PROFILE *profile, TPMI_ALG_HASH hash_alg)
Definition: fapi_util.c:1387
TSS2_RC ifapi_create_primary(FAPI_CONTEXT *context, IFAPI_KEY_TEMPLATE *template)
Definition: fapi_util.c:4588
const char * ifapi_get_object_path(IFAPI_OBJECT *object)
Definition: fapi_util.c:343
TSS2_RC ifapi_get_random(FAPI_CONTEXT *context, size_t numBytes, uint8_t **data)
Definition: fapi_util.c:2620
TSS2_RC ifapi_set_auth(FAPI_CONTEXT *context, IFAPI_OBJECT *auth_object, const char *description)
Definition: fapi_util.c:425
TSS2_RC ifapi_load_parent_keys_async(FAPI_CONTEXT *context, char const *keyPath)
Definition: fapi_util.c:1680
TSS2_RC ifapi_non_tpm_mode_init(FAPI_CONTEXT *context)
Definition: fapi_util.c:1140
TSS2_RC ifapi_init_primary_async(FAPI_CONTEXT *context, TSS2_KEY_TYPE ktype)
Definition: fapi_util.c:605
TPM2_RC ifapi_capability_get(FAPI_CONTEXT *context, TPM2_CAP capability, UINT32 count, TPMS_CAPABILITY_DATA **capability_data)
Definition: fapi_util.c:4095
TSS2_RC ifapi_key_create_prepare(FAPI_CONTEXT *context, char const *keyPath, char const *policyPath)
Definition: fapi_util.c:3232
TSS2_RC ifapi_authorize_object(FAPI_CONTEXT *context, IFAPI_OBJECT *object, ESYS_TR *session)
Definition: fapi_util.c:2100
TSS2_RC ifapi_session_init(FAPI_CONTEXT *context)
Definition: fapi_util.c:1109
TSS2_RC ifapi_get_key_properties(FAPI_CONTEXT *context, char const *key_path, bool *is_primary, bool *in_null_hierarchy)
Definition: fapi_util.c:4514
TSS2_RC ifapi_key_create_prepare_sensitive(FAPI_CONTEXT *context, char const *keyPath, char const *policyPath, size_t dataSize, char const *authValue, uint8_t const *data)
Definition: fapi_util.c:3166
TSS2_RC ifapi_flush_object(FAPI_CONTEXT *context, ESYS_TR session)
Definition: fapi_util.c:48
TSS2_RC ifapi_esys_serialize_object(ESYS_CONTEXT *ectx, IFAPI_OBJECT *object)
Definition: fapi_util.c:2983
TSS2_RC ifapi_get_description(IFAPI_OBJECT *object, char **description)
Definition: fapi_util.c:4427
TSS2_RC ifapi_change_policy_hierarchy(FAPI_CONTEXT *context, ESYS_TR handle, IFAPI_OBJECT *hierarchy_object, TPMS_POLICY *policy)
Definition: fapi_util.c:3862
TSS2_RC ifapi_load_keys_finish(FAPI_CONTEXT *context, bool flush_parent, ESYS_TR *handle, IFAPI_OBJECT **key_object)
Definition: fapi_util.c:1740
TSS2_RC ifapi_change_auth_hierarchy(FAPI_CONTEXT *context, ESYS_TR handle, IFAPI_OBJECT *hierarchy_object, TPM2B_AUTH *newAuthValue)
Definition: fapi_util.c:3749
Definition: ifapi_keystore.h:145
Definition: fapi_int.h:1148
Definition: fapi_int.h:170
Definition: fapi_int.h:180
Definition: ifapi_profiles.h:15
Definition: ifapi_policy_types.h:291
Definition: fapi_types.h:34