-
Notifications
You must be signed in to change notification settings - Fork 3
attest-data: Make Nonce type a bit more amenable to different lengths. #348
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
base: main
Are you sure you want to change the base?
Conversation
829725a to
588030e
Compare
588030e to
8df4fc0
Compare
|
Thanks for pushing this forward & reminding me of how this type works / is used. The RoT interface (Attest::Attest) should be taking a serialized / hubpacked representation of this type. Unfortunately it does not: https://github.com/oxidecomputer/hubris/blob/master/idl/attest.idol#L82 Because this interface only passes the bytes (not the serialized type) this shouldn't break anything as I had feared. But it definitely makes it clear that I need to pay down some debt in the RoT which will require coordination with upstream consumers. I've made an issue to track that work oxidecomputer/hubris#2375 though it doesn't block integrating this change. |
Thanks for providing some more context there and opening the issue. I did another pass and found one spot we were sending a mismatched nonce type. The hiffy Rot/Sprot interface would add an extra tag byte for the new aa6a760 fixes that to make sure we send the fixed-array 32 bytes as currently expected. Also commented out the serialize impls to make tripping over this harder. With that, things work as expected again: [1] turns out the |
|
(I tacked on 7e03d35 here because it's quite small and is a small qol change to match existing reexports.) |
For the eventual reality of supporting smaller/bigger/variable-sized nonces.