7 #ifndef IFAPI_KEYSTORE_H 8 #define IFAPI_KEYSTORE_H 12 #include "tss2_common.h" 13 #include "tss2_tpm2_types.h" 14 #include "fapi_types.h" 15 #include "ifapi_policy_types.h" 16 #include "tss2_esys.h" 18 typedef UINT32 IFAPI_OBJECT_TYPE_CONSTANT;
19 #define IFAPI_OBJ_NONE 0 20 #define IFAPI_KEY_OBJ 1 21 #define IFAPI_NV_OBJ 2 22 #define IFAPI_EXT_PUB_KEY_OBJ 3 23 #define IFAPI_HIERARCHY_OBJ 4 24 #define IFAPI_DUPLICATE_OBJ 5 61 TPM2B_DIGEST authPolicy;
70 TPM2B_NV_PUBLIC
public;
103 enum FAPI_SEARCH_STATE {
105 KSEARCH_SEARCH_OBJECT,
115 enum FAPI_SEARCH_STATE state;
121 char *defaultprofile;
123 const char* rel_path;
128 enum IFAPI_AUTHORIZATION_STATE {
133 AUTH_FLUSH_OLD_POLICY,
138 enum IFAPI_IO_STATE {
152 enum IFAPI_AUTHORIZATION_STATE authorization_state;
153 enum IFAPI_IO_STATE state;
159 ifapi_check_valid_path(
const char *path);
164 const char *config_systemdir,
165 const char *config_userdir,
166 const char *config_defaultprofile);
175 ifapi_keystore_load_finish(
194 ifapi_keystore_store_finish(
200 const char *searchpath,
212 const char *dir_name);
225 TPM2B_NV_PUBLIC *nv_public,
229 ifapi_keystore_check_overwrite(
234 ifapi_keystore_check_writeable(
274 void ifapi_cleanup_ifapi_key_search(
285 ifapi_check_provisioned(
287 const char *rel_path,
TPM2B_PUBLIC public_parent
Definition: ifapi_keystore.h:87
TSS2_RC ifapi_keystore_remove_directories(IFAPI_KEYSTORE *keystore, const char *dir_name)
Definition: ifapi_keystore.c:1042
TSS2_RC ifapi_keystore_search_obj(IFAPI_KEYSTORE *keystore, IFAPI_IO *io, TPM2B_NAME *name, char **found_path)
Definition: ifapi_keystore.c:1244
char * description
Definition: ifapi_keystore.h:36
TSS2_RC ifapi_keystore_delete(IFAPI_KEYSTORE *keystore, char *path)
Definition: ifapi_keystore.c:959
TPMT_TK_CREATION creationTicket
Definition: ifapi_keystore.h:35
Definition: ifapi_keystore.h:58
Definition: ifapi_keystore.h:94
Definition: ifapi_io.h:15
TPMT_SIG_SCHEME signing_scheme
Definition: ifapi_keystore.h:39
TPM2B_ENCRYPTED_SECRET encrypted_seed
Definition: ifapi_keystore.h:85
TSS2_RC ifapi_keystore_object_does_not_exist(IFAPI_KEYSTORE *keystore, const char *path, const IFAPI_OBJECT *object)
Definition: ifapi_keystore.c:753
TSS2_RC ifapi_keystore_search_nv_obj(IFAPI_KEYSTORE *keystore, IFAPI_IO *io, TPM2B_NV_PUBLIC *nv_public, char **found_path)
Definition: ifapi_keystore.c:1282
Definition: ifapi_keystore.h:69
UINT8_ARY appData
Definition: ifapi_keystore.h:75
TSS2_RC ifapi_copy_ifapi_key_object(IFAPI_OBJECT *dest, const IFAPI_OBJECT *src)
Definition: ifapi_keystore.c:1638
UINT8_ARY appData
Definition: ifapi_keystore.h:37
Definition: ifapi_keystore.h:145
UINT32 reset_count
Definition: ifapi_keystore.h:42
char * event_log
Definition: ifapi_keystore.h:77
IFAPI_DUPLICATE key_tree
Definition: ifapi_keystore.h:98
TSS2_RC ifapi_copy_ifapi_key(IFAPI_KEY *dest, const IFAPI_KEY *src)
Definition: ifapi_keystore.c:1455
TPM2B_NAME name
Definition: ifapi_keystore.h:40
TPMI_YES_NO ek_profile
Definition: ifapi_keystore.h:44
TPM2B_NAME name
Definition: ifapi_keystore.h:64
char * pem_ext_public
Definition: ifapi_keystore.h:51
IFAPI_NV nv
Definition: ifapi_keystore.h:97
bool authorized
Definition: ifapi_keystore.h:63
char * certificate
Definition: ifapi_keystore.h:38
void ifapi_cleanup_ifapi_duplicate(IFAPI_DUPLICATE *duplicate)
Definition: ifapi_keystore.c:1603
char * description
Definition: ifapi_keystore.h:60
Definition: ifapi_keystore.h:82
void ifapi_cleanup_ifapi_object(IFAPI_OBJECT *object)
Definition: ifapi_keystore.c:1726
Definition: ifapi_policy_types.h:291
uint32_t ESYS_TR
Definition: tss2_esys.h:16
char * description
Definition: ifapi_keystore.h:74
TSS2_RC ifapi_copy_ifapi_hierarchy(IFAPI_HIERARCHY *dest, const IFAPI_HIERARCHY *src)
Definition: ifapi_keystore.c:1511
void ifapi_cleanup_ifapi_keystore(IFAPI_KEYSTORE *keystore)
Definition: ifapi_keystore.c:1616
void ifapi_cleanup_ifapi_key(IFAPI_KEY *key)
Definition: ifapi_keystore.c:1541
TSS2_RC ifapi_copy_ifapi_hierarchy_object(IFAPI_OBJECT *dest, const IFAPI_OBJECT *src)
Definition: ifapi_keystore.c:1686
TPMS_POLICY * policy
Definition: ifapi_keystore.h:89
TPM2B_PRIVATE duplicate
Definition: ifapi_keystore.h:84
Definition: ifapi_keystore.h:50
Definition: ifapi_keystore.h:111
char * certificate
Definition: ifapi_keystore.h:52
TPMI_YES_NO system
Definition: ifapi_keystore.h:149
TPMI_YES_NO with_auth
Definition: ifapi_keystore.h:59
Definition: ifapi_keystore.h:118
UINT8_ARY serialization
Definition: ifapi_keystore.h:71
void ifapi_cleanup_ifapi_nv(IFAPI_NV *nv)
Definition: ifapi_keystore.c:1586
void ifapi_cleanup_ifapi_hierarchy(IFAPI_HIERARCHY *hierarchy)
Definition: ifapi_keystore.c:1573
TSS2_RC ifapi_keystore_store_async(IFAPI_KEYSTORE *keystore, IFAPI_IO *io, const char *path, const IFAPI_OBJECT *object)
Definition: ifapi_keystore.c:674
UINT32 persistent_handle
Definition: ifapi_keystore.h:29
UINT8_ARY serialization
Definition: ifapi_keystore.h:31
TPMI_YES_NO with_auth
Definition: ifapi_keystore.h:41
char * policyInstance
Definition: ifapi_keystore.h:33
Definition: ifapi_keystore.h:28
IFAPI_OBJECT_UNION misc
Definition: ifapi_keystore.h:148
TPMI_YES_NO with_auth
Definition: ifapi_keystore.h:76
TPMI_YES_NO delete_prohibited
Definition: ifapi_keystore.h:43
Definition: fapi_types.h:15
TSS2_RC ifapi_keystore_initialize(IFAPI_KEYSTORE *keystore, const char *config_systemdir, const char *config_userdir, const char *config_defaultprofile)
Definition: ifapi_keystore.c:423
IFAPI_EXT_PUB_KEY ext_pub_key
Definition: ifapi_keystore.h:95
UINT32 hierarchy
Definition: ifapi_keystore.h:72
size_t path_idx
Definition: ifapi_keystore.h:112
char * policyInstance
Definition: ifapi_keystore.h:73
size_t numPaths
Definition: ifapi_keystore.h:113
char * certificate
Definition: ifapi_keystore.h:88
IFAPI_HIERARCHY hierarchy
Definition: ifapi_keystore.h:99
TSS2_RC ifapi_keystore_load_async(IFAPI_KEYSTORE *keystore, IFAPI_IO *io, const char *path)
Definition: ifapi_keystore.c:564
ESYS_TR handle
Definition: ifapi_keystore.h:151
char ** pathlist
Definition: ifapi_keystore.h:114
TSS2_RC ifapi_keystore_list_all(IFAPI_KEYSTORE *keystore, const char *searchpath, char ***results, size_t *numresults)
Definition: ifapi_keystore.c:920
void ifapi_cleanup_ifapi_ext_pub_key(IFAPI_EXT_PUB_KEY *key)
Definition: ifapi_keystore.c:1559
TPM2B_CREATION_DATA creationData
Definition: ifapi_keystore.h:34
IFAPI_KEY key
Definition: ifapi_keystore.h:96
const char * rel_path
Definition: ifapi_keystore.h:154
IFAPI_OBJECT_TYPE_CONSTANT objectType
Definition: ifapi_keystore.h:147