- SIP Number: 9
- Title: WebAuthn signature scheme support
- Description: This SIP proposes the addition of WebAuthn signature scheme to enable transaction signing using WebAuthn authenticators (passkeys).
- Link: https://github.com/sui-foundation/sips/pull/9
Hello everyone! I’m the SIP proposer, and I’m thrilled to answer any questions you may have about the SIP right here. Fire away!
After a period without comments, this SIP has been moved into Review
status.
In this stage, a public call will be arranged to invite further discussion.
appreciate, this PR can come into implementation soon, coz it is game-changing wallet solution to achive mass adoption
This is great. I can imagine combining passkey and zklogin will make web wallet very secure and easy-to-use.
It would be advisable to add the alg
attribute to the proposed content to take advantage of the future extensibility of WebAuthn. The alg
will utilize the SIGNATURE_FLAG_TO_SCHEME
that matches the pubKeyCredParams
values in WebAuthn.
const webAuthnSignature = bcs.struct('WebAuthnSignature', {
alg: bcs.u8(), // eg. 0x02 for -7 (ES256)
clientData: bcs.vector(bcs.u8()),
authenticatorData: bcs.vector(bcs.u8()),
signature: bcs.vector(bcs.u8()),
publicKey: bcs.vector(bcs.u8()),
});
This way, the SIGNATURE_FLAG_TO_SCHEME (webauthn: 0x6)
will be prefixed, followed by the BCS serialized information.
This SIP has now been moved to Final
status.