AuthenticatorAssertionResponse: signature property

Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

The signature read-only property of the AuthenticatorAssertionResponse interface is an ArrayBuffer object which is the signature of the authenticator for both AuthenticatorAssertionResponse.authenticatorData and a SHA-256 hash of the client data (AuthenticatorAssertionResponse.clientDataJSON).

This signature will be sent to the server for control, as part of the response. It provides the proof that an authenticator does possess the private key which was used for the credential's generation.

Note: An AuthenticatorAssertionResponse instance is available on PublicKeyCredential.response after calling navigator.credentials.get().

Note: This property may only be used in top-level contexts and will not be available in an <iframe> for example.

Value

An ArrayBuffer object which the signature of the authenticator (using its private key) for both AuthenticatorAssertionResponse.authenticatorData and a SHA-256 hash given by the client for its data (the challenge, the origin, etc. and available from AuthenticatorAssertionResponse.clientDataJSON).

Examples

const options = {
  challenge: new Uint8Array(26), // will be another value, provided by the relying party server
  timeout: 60000,
};

navigator.credentials
  .get({ publicKey: options })
  .then((assertionPKCred) => {
    const signature = assertionPKCred.response.signature;

    // Send response and client extensions to the server so that it can
    // go on with the authentication
  })
  .catch((err) => console.error(err));

Specifications

Specification
Web Authentication: An API for accessing Public Key Credentials - Level 3
# dom-authenticatorassertionresponse-signature

Browser compatibility

BCD tables only load in the browser