TPM测试:TSS
API test suite:TSS应用接口测试例程
上接博文:TPM模拟环境搭建,因博文字数限制,故分出来这一章节。
TPM模拟器安装,或TPM移植到FPGA等ARM平台后,需要对其功能进行完整性测试。
TPM功能测试有两个软件:
--tpm-tools
(可选的,设置owner srk的密码)
--TSS API test suite
下载地址为:http://sourceforge.net/projects/trousers/files
一以testsuite-0.3.tar.gz为例:
a.下载地址:http://sourceforge.net/projects/trousers/files/
具体为:http://sourceforge.net/projects/trousers/files/TSS
API test suite/
b.安装流程
# tar
-xzvf testsuite-0.3.tar.gz
# cd testsuite-0.3
# cd tcg
# make (卸载 # make clean)
另编译TakeOwnership命令:
# testsuite-0.3/tcg/init
# make
c.执行
首先运行tpmd和tcsd,再执行测试工作
# cd testsuite-0.3
# ./tcg/init/Tspi_TPM_TakeOwnership 01 -v
1.2
执行TakeOwnership命令
# ./tsstests.sh -v 1.2
测试脚本中所有例程 以1.2版本
# ./tsstests.sh -v
1.2 > test.log
2>&1 测试结果重定向到test.log
将错误信息输入到标准输出中
# ./tsstests.sh -v 1.2
-d xxxx 测试单个文件夹
d.注意事项
注意1:脚本执行路径
执行前需要修改脚本tsstests.sh中定义的测试用例路径
Line 57 TESTCASEDIR=testsuite/tcg/
-->TESTCASEDIR=testsuite-0.3/tcg/
注意2:修改owner
srk密码
位于testsuite-0.3/tcg/include/common.h中
#define
TESTSUITE_OWNER_SECRET getenv("TESTSUITE_OWNER_SECRET")
-->#define
TESTSUITE_OWNER_SECRET "123456"
#define
TESTSUITE_SRK_SECRET getenv("TESTSUITE_SRK_SECRET")
-->#define
TESTSUITE_SRK_SECRET "123456"
注意3:脚本中指定测试文件夹
脚本tsstests.sh的main()中要测试的文件夹定义为:(测试除common
highlevel之外的所有文件夹)
DIRS_TO_RUN=`ls */Makefile | sed
"s/Makefile//g" | sed "s/common\///g" | sed "s/highlevel\///g"`
可根据需求修改,如:
Makefile | sed "s/Makefile//g" | sed
"s/common\///g" | sed "s/highlevel\///g"
|
sed "s/cmk\///g" | sed "s/delegation\///g" | sed "s/init\///g" |
sed "s/transport\///g"`
或者直接给出要测试的文件夹,并指定顺序,如:
for DIRECTORY in context tpm tspi key data policy hash nv
pcrcomposite
do
TESTS_TO_RUN=
.......
done
注意4:测试例程顺序
在文件夹tpm中以下两个命令需要放在测试例程Tspi_TPM_LoadMaintenancePubKey之后,否则会出现以下
错误:
1.
Tspi_TPM_CheckMaintenancePubKey01
FAIL : Tspi_TPM_CheckMaintenancePubKey01
Return: TPM_E_KEYNOTFOUND
2.
Tspi_TPM_CreateMaintenanceArchive01
FAIL :
Tspi_TPM_CreateMaintenanceArchive01
Return: TPM_E_KEYNOTFOUND
故测试过程中做了名字修改以调整顺序,如:
1.
Tspi_TPM_oCheckMaintenancePubKey01
Tspi_TPM_oCheckMaintenancePubKey01.c
二 以tpm-tools-1.3.5.tar.gz为例:
a.下载地址:http://sourceforge.net/projects/trousers/files/tpm-tools/
b.安装流程
# tar -xzvf tpm-tools-1.3.5.tar.gz
# cd tpm-tools-1.3.5
# ./configure
# make
# make install
c.运行
# /usr/local/sbin/tpm_takeownership
问题1:/usr/local/sbin/tpm_takeownership: error while loading
shared libraries: libtspi.so.1:cannot open shared object file: No
such file or directory
解决:
由于libtspi.so.1文件位于/usr/local/lib目录下
# vi /etc/ld.so.conf.d/graphviz.conf
添加一行: /usr/local/lib
再运行
# ldconfig
# /usr/local/sbin/tpm_takeownership
Enter owner password
:
设置owner srk的密码
Confirm password :
Enter SRK password :
Confirm password :
加载中,请稍候......