| /* 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 */ |