#tpm #tss #native-bindings #trou-ser-s

trousers-sys

对 trousers 库的本地绑定

1 个不稳定版本

使用旧的 Rust 2015

0.0.0 2015 年 5 月 17 日

#16#tss

MIT 许可证

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