verify: use hash_raw_pod_slice to hash journal without trailer #291
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Previously, the verifier used hash_words() to create a hash of the journal. Unintentionally, this resulted in a "trailer" being appended to the hashed journal when the input length was not a multiple of 16. In the guest, the data that was committed gets hashed without a trailer if the data exceeds 32 bytes. The verifier needs the hash of the journal to match the seal root so the divergent behavior between the verifier and guest causes unintended verification errors for guest code that commits more than 32 bytes of data that are not divisible by 16. Fix this by using a hashing function in the verifier that does not add a trailer. Also, add a "hello world" test case as a regression test.