attest-data: Make Nonce type a bit more amenable to different lengths.#348
attest-data: Make Nonce type a bit more amenable to different lengths.#348
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.