加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

TPM功能测试

(2014-06-30 11:58:13)
标签:

testsuites

tpm

分类: Security

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 :

 

 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有