Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

AuthenticatorAttestationResponse: Eigenschaft „attestationObject“

Baseline
Weitgehend verfügbar

Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit September 2021 browserübergreifend verfügbar.

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

Die Eigenschaft attestationObject des Interfaces AuthenticatorAttestationResponse 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 bei der Herstellung im Authenticator gespeichert wird.

Im Rahmen des Aufrufs von CredentialsContainer.create() erstellt ein Authenticator ein neues Schlüsselpaar sowie ein attestationObject für dieses Schlüsselpaar. Der öffentliche Schlüssel, der dem privaten Schlüssel entspricht, mit dem die Attestierungssignatur erstellt wurde, ist allgemein bekannt; allerdings gibt es verschiedene bekannte Attestierungs-Ketten öffentlicher Schlüssel für unterschiedliche Ökosysteme (beispielsweise Android- oder TPM-Attestierungen).

Wert

Nach dem Dekodieren des CBOR-kodierten 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 Eigenschaft in einem JavaScript-Objekt verfügbar gemacht wird (siehe AuthenticatorAssertionResponse.authenticatorData), während in AuthenticatorAttestationResponse die authenticatorData eine Eigenschaft in einer CBOR-Map ist.

Dasselbe Feld AuthenticatorAssertionResponse.authenticatorData wird sowohl von AuthenticatorAttestationResponse als auch von AuthenticatorAssertionResponse verwendet. Bei der Verwendung für die Attestierung enthält es ein optionales Feld, attestedCredentialData. Dieses Feld ist bei der Verwendung in AuthenticatorAssertionResponse nicht enthalten. Das Feld attestedCredentialData enthält credentialId und credentialPublicKey.

fmt

Eine Textzeichenfolge, die das Format von attStmt angibt. Die WebAuthn-Spezifikation definiert eine Reihe von Formaten; Formate können jedoch auch in anderen Spezifikationen definiert und in einer IANA-Registry registriert werden. Von WebAuthn definierte Formate sind:

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

Eine Attestierungserklärung im durch "fmt" definierten Format. Weitere Details zu jedem Format finden Sie vorerst in der WebAuthn-Spezifikation.

Beispiele

Ein ausführliches Beispiel finden Sie unter Erstellen einer Public-Key-Credential.

Spezifikationen

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

Browser-Kompatibilität

Siehe auch

  • CredentialsContainer.create(): die Methode zum Erstellen einer Erklärung mit einer kryptografischen challenge, deren Signatur durch den Authenticator in attStmt enthalten ist, mit der angegebenen Transportoption attestation.