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 enthält, sowie eine Signatur über das gesamte attestationObject mit einem privaten Schlüssel, der im Authenticator gespeichert ist, wenn er hergestellt 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, der die Attestationssignatur erstellt hat, ist wohlbekannt; es gibt jedoch verschiedene gut bekannte Attestationskettenschlüssel für verschiedene Ecosysteme (zum Beispiel Android- oder TPM-Attestationen).

Wert

Nach der Dekodierung des CBOR codierten 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 verfügbar gemacht wird (siehe AuthenticatorAssertionResponse.authenticatorData), während in AuthenticatorAttestationResponse die authenticatorData eine Eigenschaft in einer CBOR-Map ist.

Das gleiche Feld AuthenticatorAssertionResponse.authenticatorData wird sowohl von AuthenticatorAttestationResponse als auch von AuthenticatorAssertionResponse verwendet. Wenn es in einer Attestation verwendet wird, enthält es ein optionales Feld, attestedCredentialData. Dieses Feld wird nicht verwendet, wenn es in der AuthenticatorAssertionResponse verwendet wird. Das Feld attestedCredentialData enthält die credentialId und credentialPublicKey.

fmt

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

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

Eine Attestationsaussage, die das von "fmt" definierte Format hat. Weitere Informationen finden Sie in der WebAuthn-Spezifikation zu jedem Format.

Beispiele

Siehe Erstellen eines öffentlichen Schlüsselanmeldedatensatzes für ein detailliertes 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 Aussage mit einer kryptografischen challenge zu erstellen, deren Signatur durch den Authenticator in attStmt, mit der angegebenen Transportoption attestation enthalten ist.