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.
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 compatibility

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic support651 2 ?601 ? ? ?
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Basic support ? ? ? ? ? ? ?

1. Only support USB U2F tokens

2. 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.

Document Tags and Contributors

Contributors to this page: apowers313, ExE-Boss
Last updated by: apowers313,