您的位置:首页 > 产品设计 > 产品经理

TPM环境搭建 Tpm_emulator模拟器安装过程

2011-09-11 12:36 417 查看
在安装的过程中,我参考了以下两位的博客:

浪迹天涯: http://blogold.chinaunix.net/u3/96833/showart_1932475.html zqqa——呆头呆脑看世界: http://blogold.chinaunix.net/u/4329/showart_2205462.html
现在的linux内核都已经支持TPM,所以就没有必要再编译内核了

1、安装前的准备工作
(1)CMake安装
下载:http://www.cmake.org/
解压后有一个Readme.txt文件 这就是给出的安装过程
#cd cmake-2.8.4
#$ ./bootstrap
#make
#make install
但是文件中没有bootstrap,我不知道为什么,但这一步不执行也没关系
(2)GNU MP library
下载:http://gmplib.org
解压后INSTALL为安装过程
#cd gmp-5.0.1
#./configure
#make
#make check<= VERY IMPORTANT!!
#make install

在安装的过程中提示缺少m4,sudo apt-get install m4
(3)GTK安装
参考:http://www.linuxidc.com/Linux/2008-09/15955.htm
apt-get install build-essential #这将安装gcc/g++/gdb/make 等基本编程工具
apt-get install gnome-core-devel #这将安装 libgtk2.0-dev libglib2.0-dev 等开发相关的库文件
apt-get install pkg-config #用于在编译GTK程序时自动找出头文件及库文件位置
apt-get install devhelp #这将安装 devhelp GTK文档查看程序
apt-get install libglib2.0-doc libgtk2.0-doc #这将安装 gtk/glib 的API参考手册及其它帮助文档
apt-get install glade libglade2-dev #这将安装基于GTK的界面GTK是开发Gnome窗口的c/c++语言图形库
apt-get install libgtk2.0*, gtk+2.0所需的所有文件统通下载安装完毕

2、Tpm_emulator安装
下载:https://developer.berlios.de/project/showfiles.php?group_id=2491
解压后README文件为安装和使用的说明
# tar -xvzf tpm_emulator-X.Y.tar.gz
# cd tpm_emulator-X.Y
# mkdir build
# cd build
# cmake ../
# make
# make install

初始化
#tpmd deactivated
#killall tpmd
#tpmd clear
#rm /var/run/tpm/tpmd_socket:0 (出现failed:address already in use 时执行它)

启动软TPM
#modprobe tpmd_dev (如果出现FATAL: Module tpmd_dev not found,则先运行depmod -a)
#tpmd -f -d (tpmd -h查看启动参数)

3、TSS协议栈安装
下载:http://sourceforge.net/project/showfiles.php?group_id=126012
协议栈包括:trousers,TSS API test suite,tpm-tools,Grub-IMA,OpenSSL TPM Engine,TPM Keyring

解压后,trousers安装过程在README中


重定向tddl

由于使用TPM模拟器,在编译trousers前需要将其以来的tddl库改为TPM模拟器提供的tddl。

l 修改 ./src/tcsd/Makefile.am 第4行:

tcsd_LDADD=../tcs/libtcs.a ../tddl/libtddl.a –lpthread

为:

tcsd_LDADD=../tcs/libtcs.a /usr/lib/libtddl.so –lpthread

l 修改 ./src/tcsd/Makefile.in 第59行:

tcsd_DEPENDENCIES = ../tcs/libtcs.a ../tddl/libtddl.a

为:

tcsd_DEPENDENCIES = ../tcs/libtcs.a /usr/lib/libtddl.so


2.3.3修改Trousers Bug

l 修改 ./src/include/obj_context.h 第79行:

struct tcs_api_table *obj_context_get_tcs_api();

为:

struct tcs_api_table *obj_context_get_tcs_api(UINT32);
To build trousers after you have the device driver installed:
$ sh bootstrap.sh
$ ./configure [--enable-debug] [--enable-gprof] [--enable-gcov]
$ make
# make install
同样这里没有bootstrap.sh文件,此步不用执行

启动TCSD
#tcsd -e -f

4、tpm-tools安装
tpm-tools安装过程在README中

安装要求:
----- ------------
Packages needed to build:

automake
autoconf
libtool
gettext
gettext-devel
trousers
trousers-devel

optional (for PKCS#11 support - tpmtoken commands)
openssl-0.9.7 or newer
openssl-devel-0.9.7 or newer
opencryptoki-2.2.0 or newer
安装过程:
-------- ---------
$ sh ./bootstrap.sh
$ ./configure
$ make
# make install

5、测试
启动Tpm_emulator
在tpm_emulator-0.7.2/tddl文件夹下有测试事例:
../tpm_emulator-0.7.2/tddl# gcc -o test_tddl test_tddl.c -ltddl// -ltddl 为链接tddl的动态链接库
../tpm_emulator-0.7.2/tddl# LD_LIBRARY_PATH=/usr/local/lib ./test_tddl//运行结果
Driver status: DRIVER OK

Device status: DEVICE OK

DRV version: 1.5.0.0

TPM Version: 1.1.0.0

Manufacturer: Mario Strasser, ETH Zurich

Module type: Software-based TPM Emulator

Transmit: 00 c1 00 00 00 0a 00 00 00 5a

Result: 00 c4 00 00 00 0a 00 00 00 00

开始我没有加 LD_LIBRARY_PATH=/usr/local/lib 运行报错:
/tpm_emulator-0.7.2/tddl# ./test_tddl
./test_tddl: error while loading shared libraries: libtddl.so.1.2: cannot open shared object file: No such file or directory
找不到libtddl.so.1.2库,因为$PATH中没有路径/usr/local/lib

来源:http://blog.chinaunix.net/space.php?uid=25564582&do=blog&id=186848

本人采用Ubuntu 10-10+gmp4.30+tpm_emulator-0.7.4+trousers-0.3.8.tar.gz 安装成功。PS

如果 #tpm_version 出现tpm_version: error while loading shared libraries: libtspi.so.1: cannot open shared object file: No such file or directory, 则使用命令apt-get install libtspi-dev

就OK啦。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐