open-source-firmware/go-tcg-storage

Activation/TakeOwnership flow is not clear and documentation is inaccurate

yogev-lb opened this issue · 3 comments

Looking at the README.md I see an example of locking.Initialize called with the following options:

    locking.WithHardening()
    locking.WithTakeOwnership([]byte(password))

But these options are not declared in the locking package.

Is this an old example? Where these options removed and the example did not?

Can you please provide a clear example how to take ownership on a manufactured SP?

Im locking for a flow that would replace SEDUtils initialsetup API.

Can it be done using this library?

Yes, I assume this is an old example. We just took over the project a couple weeks ago. We look into the project and want to make it a valid sedutil alternative, but this takes time. If you have a look on the code, you'll see a lot ToDos.

At this point the sedlockctl-command doesn't support initialsetup. So it is not possible to take ownership of a manufactured SP. This certainly will be one of the first things we will do.

Hi! Original author here. Yes, the documentation is a bit all over the place - the README was written as one of the first things in the library to communicate on how the library will work when it is feature complete. I felt that would be useful for contributors to get a common ground to reason about. Apologies for any confusion it may have caused.

I believe the bug #18 has more details on what actually was implemented in the Locking API.

#89 and #90 keep track of the requirement.