Libtpms-based TPM emulator with socket, character device, and Linux CUSE interface.
Go to file
Eiichi Tsukata 2d3deaef29 swtpm: Abstract NVRAM interface for pluggable state store
Related GH issue: https://github.com/stefanberger/swtpm/issues/461

This patch adds an abstraction layer to NVRAM state store implementation
for pluggable storage backends. No functional changes are intended in
this change. The default state store backend ("dir backend") keeps
current behavior.

To make swtpm ready for pluggable store, this patch moves file related
operations to the seperate file (swtpm_nvstore_dir.c) and defined the
interface for plugins (nvram_backend_ops in swtpm_nvstore.h). The
interface can be used by each plugin which will be added later.

With the interface, each plugin can access its "backend_uri" which
points to the location of the backend storage, for example S3 bucket
URL or iSCSI URL, and decide how it stores TPM state data.

Signed-off-by: Eiichi Tsukata <eiichi.tsukata@nutanix.com>
2021-08-13 06:35:18 -04:00
.github/ISSUE_TEMPLATE github: Update issues templates 2020-12-27 22:49:45 -05:00
debian Change swtpm-localca to swtpm_localca in manpages 2021-07-27 20:05:41 -04:00
include swtpm: Fix issues raised by -Wextra 2021-06-24 15:05:03 -04:00
man swtpm_setup: Add support for checking for TPM 1.2 and TPM 2 support 2021-08-10 09:38:48 -04:00
samples Move swtpm_localca sources from samples/ to src/ 2021-07-25 08:52:13 -04:00
src swtpm: Abstract NVRAM interface for pluggable state store 2021-08-13 06:35:18 -04:00
tests swtpm_setup: Add support for checking for TPM 1.2 and TPM 2 support 2021-08-10 09:38:48 -04:00
.gitignore Change swtpm-localca to swtpm_localca in manpages 2021-07-27 20:05:41 -04:00
.travis.yml Travis: Remove much of the python related stuff 2021-06-04 16:04:09 -04:00
autogen.sh build-sys: Create m4 directory on older systems 2018-12-15 10:06:03 -05:00
CHANGES CHANGES: Add more documentation for changes in 0.6.0 2021-06-04 16:04:09 -04:00
configure.ac build-sys: Rename AM_CFLAGS/LDFLAGS to MY_CFLAGS/LDFLAGS 2021-07-27 15:39:48 -04:00
COPYING initial check-in 2014-12-05 11:16:03 -05:00
DCO1.1.txt Replace the CLA with the DCO, simply requiring a Signed-off-by: 2016-12-21 11:11:48 -05:00
INSTALL docs: Update INSTALL document 2021-07-21 09:04:24 -04:00
LICENSE swtpm: Replace the CUSE TPM with the new implementation 2015-12-07 15:01:57 -05:00
Makefile.am Move swtpm_setup.conf.in from etc/ to samples/ 2021-07-21 20:30:44 -04:00
README docu: Cut down the README to its minimum 2018-09-24 17:48:41 -04:00
run_tests tests: Run all tests again in run_test 2020-04-07 17:14:10 -04:00
swtpm.spec Change swtpm-localca to swtpm_localca in manpages 2021-07-27 20:05:41 -04:00
swtpm.spec.in Change swtpm-localca to swtpm_localca in manpages 2021-07-27 20:05:41 -04:00
TODO Adding RHEL/Centos status info 2016-06-26 20:03:43 -04:00

SWTPM - Software TPM Emulator
      David Safford safford@us.ibm.com
      Stefan Berger stefanb@us.ibm.com

The SWTPM package provides TPM emulators with different front-end interfaces
to libtpms. TPM emulators provide socket interfaces (TCP/IP and Unix) and
the Linux CUSE interface for the creation of multiple native /dev/vtpm* devices.

The SWTPM package also provides several tools for using the TPM emulator,
creating certificates for a TPM, and simulating the manufacturing of
a TPM by creating a TPM's EK and platform certificates etc. Please read 
the READMEs in the individual tool's directory under src/.

Please consult the Wiki for information about swtpm:

   https://github.com/stefanberger/swtpm/wiki