-
Notifications
You must be signed in to change notification settings - Fork 95
Home
Stefan Berger edited this page Oct 31, 2018
·
51 revisions
Libtpms provides TPM emulation for TPM 1.2 and TPM 2.0 without tying it to a specific storage backend or an interface for receiving TPM commands. One user of libtpms is swtpm.
The TPM 2 preview branch(es) provide TPM 2 support for libtpms. They are experimental in so far as backwards compatibility of the state the TPM 2 writes into its NVRAM file may not be maintained and thus the state written with one version of a preview branch may not be readable by another version. Also while work is ongoing the layout of the written state may change within one branch.
- TPM2: check that all state is written properly: create test cases for swtpm that have lots of state defined and make sure the state is accessible on big and little endian machines
- TPM2: clear all FIXMEs
TPM2: choose #defines for max. sizes of RSA keys etc.TPM2: determine final size of NVRAM: 64KB
# Install dependencies
sudo dnf builddep dist/libtpms.spec
./autogen.sh --with-openssl --prefix=/usr --with-tpm2
make -j4
make check
sudo make install
CFLAGS="-m32" ./autogen.sh --with-openssl --prefix=/usr --with-tpm2 --libdir=/lib
make clean
make -j4
make check
sudo make install
./autogen.sh --with-openssl --prefix=/usr --with-tpm2
make -j4
make check
make install
./autogen.sh --with-openssl --prefix=/usr --with-tpm2
gmake -j 4
gmake check
sudo gmake install
LDFLAGS="-L/usr/local/opt/openssl/lib" CFLAGS="-I/usr/local/opt/openssl/include" CC=gcc ./autogen.sh --with-openssl --prefix=/Users/adminuser/ --with-tpm2
make -j4
make check
sudo make install
sudo apt-get -y install automake autoconf libtool gcc build-essential libssl-dev dh-exec pkg-config
./autogen.sh --with-openssl
make dist
dpkg-buildpackage -us -uc -j4
# Install the library and development packages
cd ..
sudo dpkg -i libtpms_0.x.y-z..._amd64.deb libtpms-dev_0.x.y-z..._amd64.deb