-
-
Notifications
You must be signed in to change notification settings - Fork 53
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
shared: generalize signature schemes #303
Conversation
a8fabe0
to
0ca99b0
Compare
0ca99b0
to
1b40d87
Compare
@blitz I added more documentation (overview too), let me know if this is what you had in mind or where would you like me to expand. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good! I liked the clear commit history, which made this easier to review.
Will approve when the merge conflicts are resolved. Feel free to address any of the other nitpicky comments as well or ignore them.
a416d9e
to
a2ecf9d
Compare
…t packages Now, it is possible to build any package of the workspace in a fine grained fashion.
We want here to capture the required data to assemble a stub, here is a partial structure modulo ESP generation paths. Other pieces of code can consume this structure, validate it before passing it to the PE assembler and the signer. We convert everything into owned structures because we cannot really do deserialization in any context with lifetimes going around, but, allocations are generally very cheap in this context.
In order to offer more flexible signature mechanisms in lanzaboote, we need to take a step back and offer a general PE signature trait. After this, we will be able to plug various different implementations.
1c231ee
to
80407b3
Compare
@blitz This is ready for a review again, I think. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't have time for a deep review. I like the documentation. Looks like a useful refactoring. @nikstur Are you ok with this?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good to go from my end after you removed tests/lib.nix
Our lanzaboote integration tests are getting more and more sophisticated and ambitious. Let's extract them into a "lanzalib", so they can be used with multiple backends.
We didn't test if there *was* a signature, idempotency of removal of signatures (i.e. removing an non-existent signature is the identity operation) could fool us into believing we had a signed thing then not signed.
We fabricated a lot of initrds which were exactly the same as the one in our store when we had no initrd secrets. This ends this practice.
We moved into docstrings the module-level README. Signed-off-by: Raito Bezarius <[email protected]>
Signed-off-by: Raito Bezarius <[email protected]>
Signed-off-by: Raito Bezarius <[email protected]>
80407b3
to
8373fae
Compare
Split off #278. Contains only signature generalization contents and misc refactoring to make things easier for the remote signing PR.