1
0
mirror of git://git.gnupg.org/gnupg.git synced 2025-03-03 21:21:08 +01:00
gnupg/tests/tpm2dtests/start_sw_tpm.sh
NIIBE Yutaka 98dd6f7af6
tests:tpm2dtests: Fix tests with SWTPM.
* configure.ac (TEST_LIBTSS): Fix the condition with SWTPM.
* tests/tpm2dtests/start_sw_tpm.sh: Use --daemon and --pid
to run SWTPM.

--

GnuPG-bug-id: 6052
Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
2023-10-04 18:30:33 +09:00

39 lines
895 B
Bash
Executable File

#!/bin/bash
# remove any prior TPM contents
rm -f NVChip h*.bin *.permall
if [ -x "${SWTPM}" ]; then
${SWTPM} socket --tpm2 --daemon \
--pid file=swtpm.pid \
--server type=tcp,port=2321 \
--ctrl type=tcp,port=2322 --tpmstate dir=`pwd`
pid=$(cat swtpm.pid)
else
${TPMSERVER} > /dev/null 2>&1 &
pid=$!
fi
##
# This powers on the tpm and starts it
# then we derive the RSA version of the storage seed and
# store it permanently at handle 81000001 and flush the transient
##
a=0; while [ $a -lt 10 ]; do
if [ -x "${SWTPM_IOCTL}" ]; then
${SWTPM_IOCTL} --tcp 127.0.0.1:2322 -i > /dev/null 2>&1
else
tsspowerup > /dev/null 2>&1
fi
if [ $? -eq 0 ]; then
break;
fi
sleep 1
a=$[$a+1]
done
if [ $a -eq 10 ]; then
echo "Waited 10s for tpm_server to come up; exiting"
exit 1
fi
tssstartup || exit 1
echo -n $pid