blob: 43c881b4cecf03b960868b4f97d9547b636c34e2 [file] [log] [blame]
/* SPDX-License-Identifier: BSD-2-Clause */
/*******************************************************************************
* Copyright 2018-2019, Fraunhofer SIT sponsored by Infineon Technologies AG
* All rights reserved.
*******************************************************************************/
#ifndef IFAPI_CONFIG_H
#define IFAPI_CONFIG_H
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include "tss2_tpm2_types.h"
#include "ifapi_io.h"
#define ENV_FAPI_CONFIG "TSS2_FAPICONF"
/**
* Type for storing FAPI configuration
*/
typedef struct {
/** Path for profile directory */
char *profile_dir;
/** Directory storing NV objects */
char *user_dir;
/** Directory storing key and NV objects */
char *keystore_dir;
/** Name the used profile */
char *profile_name;
/** The used tcti interface */
char *tcti;
/** The directory for event logs */
char *log_dir;
/** The PCRs used by IMA etc. */
TPML_PCR_SELECTION system_pcrs;
/** Fingerprint of EK */
TPMT_HA ek_fingerprint;
/* URL for EC certificate */
char *ek_cert_file;
/* Switch whether certificate validation will done */
TPMI_YES_NO ek_cert_less;
/** Certificate service for Intel TPMs */
char *intel_cert_service;
} IFAPI_CONFIG;
TSS2_RC
ifapi_config_initialize_async(
IFAPI_IO *io
);
TSS2_RC
ifapi_config_initialize_finish(
IFAPI_IO *io,
IFAPI_CONFIG *config
);
#endif /* IFAPI_CONFIG_H */