TPM-传输连接
/**
* 使用默认端口连接到在本地主机上运行的模拟器。
* 成功连接后,此方法会重启模拟器并执行 TPM2_Statup(SU_CLEAR) 命令。
* 请注意,一次只能有一个 Tpm 设备实例可以连接到本地模拟器。
*
* @return 具有连接的 TpmDeviceTcp 的新 Tpm 实例
*/
TpmDevice 抽象
针对不同的设备:
a simulator,
TBS interface on Windows
/dev/tpm0 on linux
分发接口
/** Sends the TPM command buffer byte array to the TPM * @param cmdBuf TPM command buffer */ public abstract void dispatchCommand(byte[] cmdBuf);
相关常量
// 平台层次结构已启用,硬件平台功能(例如
// 因为 SignalHashStart/Data/End) 可用。
TpmPlatformAvailable = 0x01,
// 连接表示 TPM 资源管理器 (TRM),而不是 TPM 设备。
// 这意味着上下文管理命令不可用,句柄值
// 返回给客户端的是虚拟化的。
TpmUsesTrm = 0x02,
// TRM 处于原始模式(即没有执行实际的资源虚拟化)。
TpmInRawMode = 0x04,
// 支持物理存在信号 (SignalPPOn/Off)。
TpmSupportsPP = 0x08,
// 仅在设置了 TpmPlatformAvailable 时有效。
// 不支持系统和 TPM 电源控制信号 (SignalPowerOn/Off)。
TpmNoPowerCtl = 0x10,
// 仅在设置了 TpmPlatformAvailable 时有效。
// TPM 位置无法更改。
TpmNoLocalityCtl = 0x20,
//
// 端点类型描述符
//
// 连接介质为套接字。
// 与 TSS_TbsConn 互斥以更好地检查错误
TpmSocketConn = 0x1000,
// 连接介质是操作系统特定的句柄。
// 与 TSS_SocketConn 互斥以更好地检查错误
TpmTbsConn = 0x2000,
// 仅对 TSS_SocketConn 有效。 这是一个旧的套接字连接
// Linux 上英特尔用户模式 TRM 实现的版本
TpmLinuxOldUserModeTrm = 0x4000,
// 通过表示符合 TCG 的 TCTI 连接接口的上下文连接
TpmTctiConn = 0x8000;