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 die Signatur über das gesamte attestationObject mit einem privaten Schlüssel enthält, der im Authentifikator gespeichert ist, wenn er hergestellt wird.

Im Rahmen 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 Attestierungs-Signatur erstellt hat, ist bekannt; es gibt jedoch verschiedene bekannte Attestierungs-Öffentliche-Schlüsselketten für unterschiedliche Ökosysteme (zum Beispiel Android oder TPM-Attestierungen).

Wert

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

authData

Die Authentifikator-Daten für den Vorgang. Beachten Sie, dass in AuthenticatorAssertionResponse die authenticatorData-Daten als Eigenschaft in einem JavaScript-Objekt freigelegt werden (siehe AuthenticatorAssertionResponse.authenticatorData), während in AuthenticatorAttestationResponse die authenticatorData-Daten eine Eigenschaft in einer CBOR-Karte sind.

Das gleiche AuthenticatorAssertionResponse.authenticatorData-Feld wird sowohl von AuthenticatorAttestationResponse als auch von AuthenticatorAssertionResponse verwendet. Wenn es in der Attestierung 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 credentialPublicKey.

fmt

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

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

Eine Attestierungs-Aussage, die im Format von "fmt" definiert ist. Für weitere Details zu jedem Format, sehen Sie die WebAuthn-Spezifikation.

Beispiele

Siehe Erstellen eines Public-Key-Zertifikats 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 Authentifikator in attStmt enthalten ist, mit der angegebenen attestation-Transportoption.