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 einen ArrayBuffer zurück, der den neuen öffentlichen Schlüssel sowie eine Signatur über das gesamte attestationObject mit einem privaten Schlüssel enthält, der im Authenticator gespeichert ist, wenn dieser hergestellt wird.

Als Teil des Aufrufs von CredentialsContainer.create() wird ein Authenticator ein neues Schlüsselpaar sowie ein attestationObject für dieses Schlüsselpaar erstellen. Der öffentliche Schlüssel, der dem privaten Schlüssel entspricht, der die Attestationssignatur erstellt hat, ist bekannt; jedoch gibt es verschiedene bekannte Attestations-Öffentlich-Schlüsselketten für unterschiedliche Ökosysteme (z.B. Android oder TPM-Attestierungen).

Wert

Nach der Dekodierung des CBOR-codierten ArrayBuffer enthält das resultierende JavaScript-Objekt die folgenden Eigenschaften:

authData

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

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

fmt

Ein Textstring, der das Format der attStmt angibt. Die WebAuthn-Spezifikation definiert eine Reihe von Formaten; jedoch können Formate 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 Attestationsaussage, die im von "fmt" definierten Format ist. Für Details zu jedem Format siehe die WebAuthn-Spezifikation.

Beispiele

Siehe Erstellung eines öffentlichen Schlüssel-Zertifikats für ein ausführliches Beispiel.

Spezifikationen

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

Browser-Kompatibilität

Siehe auch

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