1 个不稳定版本
使用旧的 Rust 2015
0.0.0 | 2015 年 5 月 17 日 |
---|
#16 在 #tss
115KB
3K SLoC
rust-trousers
Rust 对 TrouSerS 的绑定,TrouSerS 是一个开源的 TSS 实现。
简介
TrouSerS 符合 TCG 软件堆栈 (TSS) 1.2 规范(略有差异)。这个库尝试通过更面向对象的方式来封装底层功能,同时减少手动内存管理的负担,同时保持与 TSS 接口的相似性。(例如,实现一个扩展 PCR 的单一功能超出了范围。)
主要的 trousers
包包含封装的接口,并依赖于 trousers-sys
包,该包包括通过 rust-bindgen 生成的直接绑定。绑定是基于 TrouSerS 0.3.11.2-1 生成的,来自 Ubuntu trusty/main 仓库。
请注意,这个库主要是作为一个边项目开发的。虽然我希望实现 TrouSerS 的全面覆盖,但这实际上意味着全面覆盖 TSS,这是一个单独在业余时间完成的艰巨任务。API 在此时尚未确定,可能会发生重大变化。欢迎贡献力量!
覆盖范围
待办事项:需要具有常量。
模块 | 实现 | 部分实现 | 缺失 |
---|---|---|---|
4.3.3.1 通用方法 | 不适用 | Tspi_SetAttribUint32(用于 TSS_OBJECT_TYPE_RSAKEY),Tspi_SetAttribData(用于 TSS_OBJECT_TYPE_RSAKEY) | Tspi_GetAttribUint32,Tspi_GetAttribData,Tspi_ChangeAuth,Tspi_ChangeAuthAsym,Tspi_GetPolicyObject |
4.3.3.2 通用上下文方法 | Tspi_Context_Create,Tspi_Context_Close,Tspi_Context_FreeMemory,Tspi_Context_GetTPMObject | Tspi_Context_Connect,Tspi_Context_CreateObject(TSS_OBJECT_TYPE_PCRS,参考 2.3.2.1) | Tspi_Context_GetDefaultPolicy,Tspi_Context_CloseObject,Tspi_Context_GetCapability |
4.3.4.1 | 不适用 | 不适用 | 全部 |
4.3.4.2 在上下文中查找、加载和注册密钥 | Tspi_Context_LoadKeyByUUID | 不适用 | Tspi_Context_LoadKeyByBlob,Tspi_Context_RegisterKey,Tspi_Context_UnregisterKey,Tspi_Context_GetKeyByUUID,Tspi_Context_GetKeyByPublicInfo,Tspi_Context_GetRegisteredKeysByUUID,Tspi_Context_GetRegisteredKeysByUUID2,Tspi_TPM_KeyControlOwner |
4.3.4.3 | 不适用 | 不适用 | 全部 |
4.3.4.4 | 不适用 | 不适用 | 全部 |
4.3.4.5 | 不适用 | 不适用 | 全部 |
4.3.4.6 | 不适用 | 不适用 | 全部 |
4.3.4.7 | 不适用 | 不适用 | 全部 |
4.3.4.8 | 不适用 | 不适用 | 全部 |
4.3.4.9 | 不适用 | 不适用 | 全部 |
4.3.4.10 | 不适用 | 不适用 | 全部 |
4.3.4.11 | 不适用 | 不适用 | 全部 |
4.3.4.12 | 不适用 | 不适用 | 全部 |
4.3.4.13 旧 PCR 命令 ( trivia) | Tspi_TPM_PcrRead | Tspi_TPM_PcrExtend | Tspi_TPM_GetEvent,Tspi_TPM_GetEvents,Tspi_TPM_GetEventLog,Tspi_TPM_Quote |
4.3.4.14 | 不适用 | 不适用 | 全部 |
4.3.4.15 Tspi_PcrComposite 类 | Tspi_PcrComposite_SelectPcrIndex | 不适用 | Tspi_SetAttribUint32,Tspi_GetAttribUint32,Tspi_PcrComposite_SetPcrValue,Tspi_PcrComposite_GetPcrValue |
4.3.4.16 新 PCR 命令 | Tspi_TPM_PcrReset,Tspi_PcrComposite_SelectPcrIndexEx | 不适用 | Tspi_Data_Seal,Tspi_Data_SealX,Tspi_TPM_Quote2,Tspi_PcrComposite_SetPcrLocality,Tspi_PcrComposite_GetPcrLocality,Tspi_PcrComposite_GetCompositeHash |
4.3.4.17 | 不适用 | 不适用 | 全部 |
4.3.4.18 | 不适用 | 不适用 | 全部 |
4.3.4.19 | 不适用 | 不适用 | 全部 |
4.3.4.20 | 不适用 | 不适用 | 全部 |
4.3.4.21 | 不适用 | 不适用 | 全部 |
4.3.4.22 | 不适用 | 不适用 | 全部 |
4.3.4.23 | 不适用 | 不适用 | 全部 |
4.3.4.24 | 不适用 | 不适用 | 全部 |
4.3.4.25 | 不适用 | 不适用 | 全部 |
4.3.4.26 | 不适用 | 不适用 | 全部 |
4.3.4.27 | 不适用 | 不适用 | 全部 |
4.3.4.28 | 不适用 | 不适用 | 全部 |
4.3.4.29 | 不适用 | 不适用 | 全部 |
4.3.4.30 | 不适用 | 不适用 | 全部 |
4.3.4.31 | 不适用 | 不适用 | 全部 |
4.3.4.32 | 不适用 | 不适用 | 全部 |
4.3.4.33 | 不适用 | 不适用 | 全部 |
4.3.4.34 | 不适用 | 不适用 | 全部 |
其他 | 不适用 | 不适用 | 全部 |
依赖关系
~43KB