Web Authn Signature
WebAuthn signature from a passkey authentication ceremony.
WebAuthn signatures contain the complete attestation data required to verify biometric or security key authentication. The signature must be in compact format (64 bytes) with normalized S value to prevent signature malleability.
Field ordering in the SCVal map is CRITICAL and must be alphabetical:
authenticator_data
client_data
signature
Note: The field name is "client_data", NOT "client_data_json".
Example:
val webauthnSig = WebAuthnSignature(
authenticatorData = byteArrayOf(...), // Raw authenticator data from WebAuthn ceremony
clientData = byteArrayOf(...), // Client data JSON from WebAuthn ceremony
signature = byteArrayOf(...) // 64-byte compact ECDSA signature (r || s)
)
val scVal = webauthnSig.toScVal()Properties
Raw authenticator data from the WebAuthn authentication ceremony. Contains RP ID hash, flags, signature counter, and optional extensions.
Client data JSON from the WebAuthn ceremony. Contains challenge, origin, type, and other client-side information. CRITICAL: This is stored as "client_data", NOT "client_data_json".