crypto: fix non-multiple of 8 in SubtleCrypto.deriveBits #55296
+28
−27
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.
A WPT update made me look into this.
From the Node.js docs:
This was never true, instead the implementation returned the closest full byte length.
At the moment the browser implementations do the following
There's no interop on this in the first place and there's even a pending decision around disallowing truncation in ECDH/X25519/X448 altogether.
Given that this is in my opinion a semver-majorPRs that contain breaking changes and should be released in the next major version.
change I would rather we only have to do one, i.e. disallow truncation when the spec changes in a major, or fix the implementation with this PR in a major. We've got time to figure out what to do in time for v24.x but i'm opening this to ping @nodejs/crypto and @nodejs/web-standards