Libtpms-based TPM emulator with socket, character device, and Linux CUSE interface.
Go to file
Stefan Berger 1db1037525
Some checks are pending
Coverity Scan / coverity (push) Waiting to run
swtpm: Return error if more bytes received than user wanted to send
Return an error code if HASH_DATA received more bytes from the user than
what the user indicated in the length field that he wanted to send. This
avoids an integer underrun of the 'remain' variable in the loop that would
then cause the loop to wanting to receive around 4GB of data.

Also fix some indentation issues.
Use be32toh instead of (the equivalent) htobe32 when reading from the
packet.

Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2025-05-20 20:28:25 -04:00
.github ci: Update from ubuntu-20.04 to ubuntu-24.04 due to EOL 2025-04-16 16:38:52 -04:00
debian debian: Do not user parallel testing to avoid timeouts 2025-04-29 21:32:07 -04:00
include swtpm: Make swtpm compilable on GNU/Hurd systems 2025-04-28 20:38:14 -04:00
man swtpm: Implement storage functions to restore a state backup file 2025-05-09 08:44:42 -04:00
samples samples: Have 2 more files shellcheck'ed 2025-05-02 09:50:19 -04:00
src swtpm: Return error if more bytes received than user wanted to send 2025-05-20 20:28:25 -04:00
tests tests: Retry NVWrite command after 0x922 return code and inc lockout counter 2025-05-12 18:46:28 -04:00
.gitignore selinux: Redevelop SELinux policy for Fedora 40 (ditch old rules) 2024-05-27 20:06:17 -04:00
.travis.yml Travis: Downgrade to setuptools 59.6.0 to avoid error in 71.x 2024-12-02 15:24:57 -05:00
autogen.sh build-sys: Create m4 directory on older systems 2018-12-15 10:06:03 -05:00
CHANGES CHANGES: Add documentation for changes in 0.10.0 2024-11-15 14:19:43 -05:00
configure.ac build-sys: Bump up version to 0.11.0 at beginning of dev cycle 2024-12-02 15:24:57 -05: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
docker-compose.yml ci: add testing via docker compose 2024-07-18 16:48:21 -04:00
Dockerfile Dockerfile: Fix casing of 'as' 2024-09-25 07:20:37 -04: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 samples: swtpm-create-tpmca: Fix shellcheck issues and add to syntax-check target 2023-02-22 17:27:05 -05: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 swtpm.spec: Change the order of uninstallation of the SELinux modules 2025-04-09 17:53:57 -04:00
swtpm.spec.in swtpm.spec: Apply previous changes also to swtpm.spec.in 2025-04-11 18:20:50 -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