PocketFIDO WebAuthn Lab

Standalone WebAuthn interoperability harness for PocketFIDO development. Not production authentication.

Status: loading…

Environment

Relying party

PRF inputs

Inputs are passed to WebAuthn as raw UTF-8 bytes; the browser applies the WebAuthn PRF domain separation itself. Inputs are not secret; outputs are.

Register (navigator.credentials.create)

hints (in this order; omitted when none ticked)
pubKeyCredParams (in this order)
extensions and options

Authenticate (navigator.credentials.get)

hints

Stored credentials (public data only)

Ticked rows are used for allowCredentials and the PRF self-check. Rows for another RP ID cannot be used with the current RP ID.

uselabelRP IDcredential IDalgtransportsattachmentrkPRFcountcreated

PRF status and comparisons

Each PRF output is reduced in memory to an HMAC under a random, non-extractable key created at page load, then the output buffer is zeroed. Only equality of those HMACs is shown. Nothing survives a reload.

PRF self-check

Uses the first two ticked credentials (or the two newest for this RP ID): (1) cred 1 + A, (2) cred 1 + A, (3) cred 1 + B, (4) cred 2 + A. Each step is one ceremony (one button press, so browsers that require a user gesture work).

Evaluations (this page load)

#ceremonyopcredentialinputslotUVlength

Comparisons

evalsrelationexpectedobservedverdict

Last ceremony

Checks

Sanitized summary (JSON, no secret material)
{}

Event log (sanitized, this page load)