Libtpms-based TPM emulator with socket, character device, and Linux CUSE interface.
Clone or download
Stefan Berger and stefanberger swtpm: Coverity: Check msg parameter upon return from recvmsg
Make sure that the msg parameter passed into recvmsg wasn't modified
by the library and verify that the pointers and sizes it contains are
still valid after the call. This addresses an issue raised by Coverity.

Signed-off-by: Stefan Berger <>
Latest commit ae98b04 Nov 19, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
debian debian: we need python3-twisted for a test case Oct 29, 2018
dist swtpm_setup: Leave ownership to root Nov 6, 2018
etc treewide: remove executable bit from config files and c-code Jan 17, 2018
include header: Add support for DragonFly BSD Sep 10, 2018
man swtpm_setup: Implement option to backup TCSD's system_ps_file Nov 5, 2018
samples samples: Enable support for well known SRK password (TPM 1.2) Nov 9, 2018
src swtpm: Coverity: Check msg parameter upon return from recvmsg Nov 21, 2018
tests tests: Use bash's built-in echo rather than /bin/echo Nov 19, 2018
.gitignore build-sys: Create compressed policy package files Sep 24, 2018
.travis.yml travis: Add a build using asan for leak and address sanitization Nov 19, 2018
CHANGES initial check-in Dec 5, 2014
COPYING initial check-in Dec 5, 2014
DCO1.1.txt Replace the CLA with the DCO, simply requiring a Signed-off-by: Dec 21, 2016
INSTALL tests: Use python3 rather than python for the test programs Sep 25, 2018
LICENSE swtpm: Replace the CUSE TPM with the new implementation Dec 7, 2015 buils-sys: Include in tarball and use for RPM build Aug 8, 2018
README docu: Cut down the README to its minimum Sep 24, 2018
TODO Adding RHEL/Centos status info Jun 27, 2016 build-sys: replace bootstrap with autogen Aug 7, 2018 build-sys: Set action-if-found in AC_CHECK_LIB where missing Nov 17, 2018
run_tests test: Add PKG_CONFIG_PATH in front of configure for i386 Jun 4, 2018


SWTPM - Software TPM Emulator
      David Safford
      Stefan Berger

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: