AuthenticatorAttestationResponse: attestationObject-Eigenschaft

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2021.

Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.

Die attestationObject-Eigenschaft der AuthenticatorAttestationResponse-Schnittstelle gibt ein ArrayBuffer zurück, das den neuen öffentlichen Schlüssel sowie eine Signatur über das gesamte attestationObject mit einem privaten Schlüssel enthält, der im Authentifikator gespeichert ist, wenn er hergestellt wird.

Als Teil des Aufrufs von CredentialsContainer.create() erstellt ein Authentifikator ein neues Schlüsselpaar sowie ein attestationObject für dieses Schlüsselpaar. Der öffentliche Schlüssel, der dem privaten Schlüssel entspricht, der die Beglaubigungssignatur erstellt hat, ist bekannt; es gibt jedoch verschiedene bekannte öffentliche Schlüsselketten für Beglaubigungen in verschiedenen Ökosystemen (zum Beispiel Android oder TPM-Beglaubigungen).

Wert

Nach der Dekodierung des CBOR kodierten ArrayBuffer wird das resultierende JavaScript-Objekt die folgenden Eigenschaften enthalten:

authData

Die Authenticator-Daten für die Operation. Beachten Sie, dass in AuthenticatorAssertionResponse die authenticatorData als Eigenschaft in einem JavaScript-Objekt zugänglich ist (siehe AuthenticatorAssertionResponse.authenticatorData), während in AuthenticatorAttestationResponse die authenticatorData eine Eigenschaft in einer CBOR Karte ist.

Dasselbe AuthenticatorAssertionResponse.authenticatorData Feld wird sowohl von AuthenticatorAttestationResponse als auch von AuthenticatorAssertionResponse verwendet. Wenn es in der Beglaubigung verwendet wird, enthält es ein optionales Feld, attestedCredentialData. Dieses Feld ist nicht enthalten, wenn es in der AuthenticatorAssertionResponse verwendet wird. Das attestedCredentialData-Feld enthält die credentialId und den credentialPublicKey.

fmt

Ein Textstring, der das Format des attStmt angibt. Die WebAuthn-Spezifikation definiert eine Vielzahl an Formaten; Formate können jedoch auch in anderen Spezifikationen definiert und in einem IANA-Register registriert werden. Von WebAuthn definierte Formate sind:

  • "packed"
  • "tpm"
  • "android-key"
  • "android-safetynet"
  • "fido-u2f"
  • "none"
attStmt

Eine Beglaubigungserklärung, die im von "fmt" definierten Format vorliegt. Sie können die WebAuthn-Spezifikation für Details zu jedem Format einsehen.

Beispiele

Spezifikationen

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

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch

  • CredentialsContainer.create(): die Methode, die verwendet wird, um eine Erklärung mit einer kryptographischen challenge zu erstellen, deren Signatur durch den Authentifikator in attStmt enthalten ist, mit der angegebenen attestation Transportoption.