1.TPM相关的项目,有几个开源的项目
地址:https://github.com/tpm2-software
2.tpm2-software 一共包含四个项目
tpm2-tools tpm2-tss tpm2-abrmd tpm2-tss-engine
3. tpm2-tools
这一个项目为用户提供了使用TPM资源的几个命令,如:
tpm2_create : 创建key
tpm2_sign : startup TPM, 相于初始化TPM
tpm2_listpcrs: 打印出TPM中所有的pcrs值
tpm2_send_command: 可以发送字节流命令
tpm2_hash : hash
等等
4.tpm2-tss
这一个项目TPM 协议栈部分,一共分为两层,一为上层开发者提供和封装统一的调用接口,二为上层提供了访问底层硬件资源接口.
5.tpm2-abrmd
pm2-abrmd是一个后台进程,主要做TPM硬件资源管理.比如:当我们上层
应用加载key的时候,不需要关心,TPM中是否还有空闲的key slot,因为tpm2-abrmd后台进程会帮助我们做,如果TPM中key slot不够用,那么就会把不用key交换出来,然后供当前访问的进程使用.
6. tpm2-tss-engine
这个是一个加密相关的engine,目前没有使用到,需要配合openssl使用.
7.下图看一下整个软件层的架构
8. 编译依赖一定要看INSTALL文件
9.下载各个版相匹配的版本,如下: