我在使用 Infineon SLB9670 TPM(可信平台模块)使用其 SPI 时遇到问题。
我发出
TPM_GETRANDOM
命令,并收到错误代码:
(0x80010000000a00000142
)TPM_RC_COMMAND_SIZE
导致该错误的具体交易顺序如下:
操作 | m地址 | 尺寸 | 数据输出 | 数据输入 | 味噌出 |
---|---|---|---|---|---|
阅读 | 0x0 | 1 | 0x81 | ||
阅读 | 0x0 | 1 | 0x81 | ||
写 | 0x0 | 1 | 0x02 | 0 | |
阅读 | 0x0 | 1 | 0xA1 | ||
阅读 | 0x18 | 1 | 0x40 | ||
阅读 | 0x19 | 1 | 0xFF | ||
写 | 0x24 | c | 0x80010000 000c0000 017b0010 | 0 0 0 0 0 0 0 0 0 0 0 |
|
阅读 | 0x18 | 1 | 0x88 | ||
写 | 0x18 | 1 | 0x20 | 0 | |
阅读 | 0x18 | 1 | 0x90 | ||
阅读 | 0x18 | 1 | 0x90 | ||
阅读 | 0x18 | 1 | 0x90 | ||
阅读 | 0x18 | 1 | 0x90 | ||
阅读 | 0x19 | 1 | 0x0A | ||
阅读 | 0x1a | 1 | 0x00 | ||
阅读 | 0x24 | a | 0x420100000A0000000180 | ||
阅读 | 0x18 | 1 | 0x80 | ||
阅读 | 0x18 | 1 | 0x80 | ||
写 | 0x18 | 1 | 0x40 | 0 | |
写 | 0x0 | 1 | 0x20 | 0 | |
阅读 | 0x19 | 1 | 0xFF | ||
阅读 | 0x0 | 1 | 0x81 |
我无法确定此错误的根本原因。有人可以解释一下可能导致此
TPM_RC_COMMAND_SIZE
错误的原因吗?
任何见解或建议将不胜感激。谢谢你。
如果您发布实际的命令流,我可以为您测试。
或者使用 SW TPM 进行调试,例如 https://github.com/kgoldman/ibmswtpm2。
在 Windows 上,MS Store 有一个命令解码器可能会有所帮助。