TPM 程序设计基础 2-2 :tpm_func.c 以及 spnam_check.c 分析

前言

前文 TPM 程序设计基础 2-1 :具体函数调用步骤及解析示例 简述了如何通过《TSS V1.2》文档来实现 C 语言 TPM 编程。

本文就包含了课设中所有调用 TPM 接口的 tpm_func.c 以及验证账户权限 spnam_check.c ,简述相应的函数的功能。

参考程序

tpm_func 代码结构

tpm_func.h

复制#ifndef TPM_FUNC_H
#define TPM_FUNC_H

void tpm_func_start();
void tpm_func_close();
int tpm_func_pcr_read_write_file();
int tpm_func_pcr_extra(UINT32 uint32_pcr_index, char *pcr_extra_string);
void tpm_func_pcr_reset();

#endif

tpm_func.c

复制#include .....
#include "tpm_func.h"

#define Debug(message, tResult) printf("%s : %s\n", message, (char *)Trspi_Error_String(tpm_handle.result))

/**
 * 结构体
 * 声明所有要用的 TPM 相关参数
 */
struct TPM_HANDLE {
    ......
}tpm_handle;

/**
 * 获取 TPM、上下文对象、PCR合成对象 句柄
 * 参数:无
 */
void tpm_func_start() 
{
    ......
}

/**
 * 释放 上下文对象 内存
 * 参数:无
 */
void tpm_func_close()
{
    ......
}

/**
 * 读取 TPM PCR 的值,每个 PCR 值为一行写入 ./logs/pcr_read.txt 文件
 * 参数:无
 * 返回值:-1,文件指针打开失败;0,成功。
 */
int tpm_func_pcr_read_write_file()
{
    ......
}

/**
 * 扩展指定的 PCR,再调用 tpm_func_pcr_read_write_file() 函数读取PCR、写入文件
 * 参数:
 * UINT32 uint32_pcr_index : 指定 PCR
 * char *pcr_extra_string : 扩展依据的内容
 */
int tpm_func_pcr_extra(UINT32 uint32_pcr_index, char *pcr_extra_string)
{
    ......
}

spnam_check 代码结构

spnam_check.h

复制#ifndef SPNAM_CHECK_H
#define SPNAM_CHECK_H

int spnam_check();

#endif

spnam_check.c

复制#define _XOPEN_SOURCE
#include ......

#include "spnam_check.h"

/**
 * 验证账户权限函数
 * 参数:char *name, char *passwd
 */
int spnam_check(char *name, char *passwd)
{
    ......
}

作者:Yogile

出处:https://www.cnblogs.com/Yogile/p/12808883.html

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

posted @   Yogile  阅读(717)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示
more_horiz
keyboard_arrow_up dark_mode palette
选择主题