Closed macpijan closed 3 years ago
Is this example designed to work with the general purpose tooling (like the tpm2-tools on Linux)?
The Samples were contributed by various folks at various times in the past and are not maintained on an ongoing basis and consequently are provided on an "AS IS", unsupported basis as indicated in the LICENSE file.
Are there any information available on how it was tested?
I have no idea, sorry.
what we should expect to work ... ?
First, let me mention an overarching premise that qualifies everything else I say... As indicated in the LICENSE file, this repo is technically provided on an AS IS basis, so I can't guarantee any particular level of support or even correctness. What follows is an UNOFFICIAL statement to help you understand what has a good chance of working and what kinds of questions are likely to get the best response.
You can typically expect that the main code line (everything under the TPMCmd/tpm folder) should work according to the TPM specifications using the ExecuteCommand function as the entry point, provided several other assumptions are true: (1) the chosen crypto-library supports the algorithms you are interested in, (2) the implementation and switch headers are correctly configured, and (3) the relevant platform code provided by your application is correct.
Everything "above" ExecuteCommand in the stack to connect the main library to whatever higher level external interface is up to the developer of a particular instantiation or application. Also, the implementation of the platform specific functions (_plat*) are expected to be provided by the platform/application developer as well.
The Simulator in TPMCmd/simulator is one such application that is more commonly used by the code maintainers and therefore is one of the better, most up-to-date examples.
Hello,
We are working on using this stack with the STM32L476.
Are there any information available on how it was tested? We have found some VCOM Windows application only so far.
Is this example designed to work with the general purpose tooling (like the tpm2-tools on Linux)? We have build and flashed the sample and have the /dev/ttyACM0 device in Linux, which we would expect would work as a replacement for the /dev/tpm0 character device.
This works a little different, though, it seems. We have noticed that the STM32 example expects more data than what simply comes from the tpm2-tools (for example the tpm2_startup command). There are additional headers added in the Windows VCOM application as well.
Some of it is described here: http://lpntpm.lpnplant.io/issues/#protocol-analysis-early-conclusions There are some more reports from our last work there, as well.
Generally, it would be great if we could get some more information on what we should expect to work in this STM32 sample and how it can be used.
Thanks,