This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

As part of the WebAuthn create() call, an authenticator will create a new keypair as well as an attestationObject for that keypair. The attestationObject contains the new public key, as well as signature over the entire attestationObject with a private key that is stored in the authenticator when it is manufactured. The public key that corresponds to the private key that has created the attestation signature is well known; however, there are various well known attestation public key chains for different ecosystems (for example, Android or TPM attestations).




After decoding the CBOR encoded ArrayBuffer, the resulting JavaScript object will contain the following properties:

The same as AuthenticatorAssertionResponse.authenticatorData. Note that in AuthenticatorAssertionResponse the authenticatorData is exposed as a property in a JavaScript Object. In AuthenticatorAttestationResponse the authenticatorData is a property in a CBOR map.
(The same authenticator data field is used by both AuthenticatorAttestationResponse and by AuthenticatorAssertionResponse. When used in attestation, it contains an optional field, attestedCredentialData. This field is not included when used in the AuthenticatorAssertionResponse. The attestedCredentialData field contains the credentialId and credentialPublicKey.)
A text string that indicates the format of the attStmt. The WebAuthn specification defines a number of formats; however, formats may also be defined in other specifications and registered in an IANA registry. Formats defined by WebAuthn are: "packed", "tpm", "android-key", "android-safetynet", "fido-u2f", and "none".
A an attestation statement that is of the format defined by "fmt". For now, see the WebAuthn specification for details on each format.




Specification Status Comment
Web Authentication: An API for accessing Public Key Credentials Level 1 Candidate Recommendation Initial definition.

Browser compatibilityUpdate compatibility data on GitHub

Chrome Edge Firefox Internet Explorer Opera Safari
Basic support 65
Only support USB U2F tokens
Disabled From version 65: this feature is behind the Web Authentication API preference (needs to be set to true). To change preferences in Chrome, visit chrome://flags.
18 60
Only support USB U2F tokens
? ? ?
Android webview Chrome for Android Edge Mobile Firefox for Android Opera for Android iOS Safari Samsung Internet
Basic support ? ? ? ? ? ? ?

© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.