-
Notifications
You must be signed in to change notification settings - Fork 13
55 move low level webauthn logic to primitives directory #95
55 move low level webauthn logic to primitives directory #95
Conversation
v1.6.0
0ef0eb1
to
0914e57
Compare
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.
Nice! This lgtm!
function verifySignature( | ||
bytes calldata authenticatorData, | ||
bytes1 authenticatorDataFlagMask, | ||
bytes calldata clientData, | ||
bytes32 messageHash, | ||
bytes32 clientChallenge, |
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.
On the cryptographic side (before here) is client challenge always guaranteed to be 32 bytes?
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 question, I've seen bytes32
used elsewhere, but looking at the spec itself, it looks like the challenge should be a minimum of 16 bytes, so it could be different to 32 bytes:
In order to prevent replay attacks, the challenges MUST contain enough entropy to make guessing them infeasible. Challenges SHOULD therefore be at least 16 bytes long.
https://www.w3.org/TR/webauthn-2/#sctn-cryptographic-challenges
FCL assumes bytes32
but perhaps this is wrong according to the spec. Added an issue to look into this - #107
Would be good to know how much of |
This PR: