attestationObject

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

Syntax

TBD

Properties

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

authenticatorData
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.)
fmt
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".
attStmt
A an attestation statement that is of the format defined by "fmt". For now, see the WebAuthn specification for details on each format.

Examples

TBD

Specifications

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

Browser compatibility

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
Basic supportChrome Full support 65
Notes Disabled
Full support 65
Notes Disabled
Notes 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.
Edge Full support 18Firefox Full support 60
Notes
Full support 60
Notes
Notes Only support USB U2F tokens
IE ? Opera ? Safari ? WebView Android ? Chrome Android ? Edge Mobile ? Firefox Android ? Opera Android ? Safari iOS ? Samsung Internet Android ?

Legend

Full support  
Full support
Compatibility unknown  
Compatibility unknown
See implementation notes.
See implementation notes.
User must explicitly enable this feature.
User must explicitly enable this feature.

Document Tags and Contributors

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