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"
17#include "tss2_policy.h"
19typedef UINT32 IFAPI_OBJECT_TYPE_CONSTANT;
20#define IFAPI_OBJ_NONE 0
21#define IFAPI_KEY_OBJ 1
23#define IFAPI_EXT_PUB_KEY_OBJ 3
24#define IFAPI_HIERARCHY_OBJ 4
25#define IFAPI_DUPLICATE_OBJ 5
64 TPM2B_DIGEST authPolicy;
73 TPM2B_NV_PUBLIC
public;
106enum FAPI_SEARCH_STATE {
108 KSEARCH_SEARCH_OBJECT,
118 enum FAPI_SEARCH_STATE state;
124 char *defaultprofile;
126 const char* rel_path;
131enum IFAPI_AUTHORIZATION_STATE {
136 AUTH_FLUSH_OLD_POLICY,
146#define TSS2_OBJECT_TO_IFAPI_OBJECT(p) ((IFAPI_OBJECT *)p)
167 enum IFAPI_IO_STATE state;
173ifapi_check_valid_path(
const char *path);
176ifapi_keystore_initialize(
178 const char *config_systemdir,
179 const char *config_userdir,
180 const char *config_defaultprofile);
183ifapi_keystore_load_async(
189ifapi_keystore_load_finish(
195ifapi_keystore_object_does_not_exist(
201ifapi_keystore_store_async(
208ifapi_keystore_store_finish(
212ifapi_keystore_list_all(
214 const char *searchpath,
219ifapi_keystore_delete(
224ifapi_keystore_remove_directories(
226 const char *dir_name);
229ifapi_keystore_search_obj(
236ifapi_keystore_search_nv_obj(
239 TPM2B_NV_PUBLIC *nv_public,
243ifapi_keystore_check_overwrite(
248ifapi_keystore_check_writeable(
258ifapi_copy_ifapi_hierarchy(
263ifapi_copy_ifapi_key_object(
268ifapi_copy_ifapi_hierarchy_object(
273void ifapi_cleanup_ifapi_key(
276void ifapi_cleanup_ifapi_ext_pub_key(
279void ifapi_cleanup_ifapi_hierarchy(
282void ifapi_cleanup_ifapi_nv(
285void ifapi_cleanup_ifapi_duplicate(
288void ifapi_cleanup_ifapi_key_search(
291void ifapi_cleanup_ifapi_keystore(
295ifapi_cleanup_ifapi_object(
299ifapi_check_provisioned(
301 const char *rel_path,
Definition ifapi_keystore.h:150
TPMI_YES_NO system
Definition ifapi_keystore.h:164
enum IFAPI_AUTHORIZATION_STATE authorization_state
Definition ifapi_keystore.h:166
const char * rel_path
Definition ifapi_keystore.h:168
IFAPI_OBJECT_UNION misc
Definition ifapi_keystore.h:163
IFAPI_OBJECT_TYPE_CONSTANT objectType
Definition ifapi_keystore.h:162
Definition ifapi_keystore.h:85
TPM2B_PRIVATE duplicate
Definition ifapi_keystore.h:87
TPMS_POLICY * policy
Definition ifapi_keystore.h:92
TPM2B_ENCRYPTED_SECRET encrypted_seed
Definition ifapi_keystore.h:88
TPM2B_PUBLIC public_parent
Definition ifapi_keystore.h:90
char * certificate
Definition ifapi_keystore.h:91
Definition ifapi_keystore.h:53
char * pem_ext_public
Definition ifapi_keystore.h:54
char * certificate
Definition ifapi_keystore.h:55
Definition ifapi_keystore.h:61
bool authorized
Definition ifapi_keystore.h:66
TPMI_YES_NO with_auth
Definition ifapi_keystore.h:62
char * description
Definition ifapi_keystore.h:63
TPM2B_NAME name
Definition ifapi_keystore.h:67
Definition ifapi_keystore.h:114
char ** pathlist
Definition ifapi_keystore.h:117
size_t numPaths
Definition ifapi_keystore.h:116
size_t path_idx
Definition ifapi_keystore.h:115
Definition ifapi_keystore.h:29
char * policyInstance
Definition ifapi_keystore.h:34
UINT8_ARY serialization
Definition ifapi_keystore.h:32
TPMI_YES_NO ek_profile
Definition ifapi_keystore.h:46
UINT32 persistent_handle
Definition ifapi_keystore.h:30
TPM2B_CREATION_DATA creationData
Definition ifapi_keystore.h:36
TPMI_YES_NO delete_prohibited
Definition ifapi_keystore.h:45
TPMI_YES_NO with_auth
Definition ifapi_keystore.h:43
TPM2B_DIGEST nonce
Definition ifapi_keystore.h:48
TPM2B_DIGEST creationHash
Definition ifapi_keystore.h:35
char * description
Definition ifapi_keystore.h:38
UINT32 reset_count
Definition ifapi_keystore.h:44
TPM2B_NAME name
Definition ifapi_keystore.h:42
UINT8_ARY appData
Definition ifapi_keystore.h:39
char * certificate
Definition ifapi_keystore.h:40
TPMT_TK_CREATION creationTicket
Definition ifapi_keystore.h:37
TPMT_SIG_SCHEME signing_scheme
Definition ifapi_keystore.h:41
Definition ifapi_keystore.h:121
Definition ifapi_keystore.h:72
char * policyInstance
Definition ifapi_keystore.h:76
UINT8_ARY serialization
Definition ifapi_keystore.h:74
TPMI_YES_NO with_auth
Definition ifapi_keystore.h:79
UINT32 hierarchy
Definition ifapi_keystore.h:75
char * description
Definition ifapi_keystore.h:77
UINT8_ARY appData
Definition ifapi_keystore.h:78
char * event_log
Definition ifapi_keystore.h:80
Definition ifapi_policy_types.h:275
Definition fapi_types.h:15
Definition ifapi_keystore.h:97
IFAPI_HIERARCHY hierarchy
Definition ifapi_keystore.h:102
IFAPI_KEY key
Definition ifapi_keystore.h:99
IFAPI_EXT_PUB_KEY ext_pub_key
Definition ifapi_keystore.h:98
IFAPI_DUPLICATE key_tree
Definition ifapi_keystore.h:101
IFAPI_NV nv
Definition ifapi_keystore.h:100