gatekeeper_device-Strukturreferenz

gatekeeper_device-Strukturreferenz

#include < gatekeeper.h >

Datenfelder

hw_device_t gemeinsam
int(* enroll )(const struct gatekeeper_device *dev, uint32_t uid, const uint8_t *current_password_handle, uint32_t current_password_handle_length, const uint8_t *current_password, uint32_t current_password_length, const uint8_t *desired_password, uint32_t gewünschte_password_length, uint8_t **enroll ed_password_handle, uint32_t *enrolled_password_handle_length)
int(* überprüfen )(const struct gatekeeper_device *dev, uint32_t uid, uint64_t Challenge, const uint8_t *enrolled_password_handle, uint32_t enrolled_password_handle_length, const uint8_t *provided_password, uint32_t Provided_password_length, uint8_t **auth_token, uint32_t *auth_to ken_length, bool *request_reenroll)
int(* delete_user )(const struct gatekeeper_device *dev, uint32_t uid)
int(* delete_all_users )(const struct gatekeeper_device *dev)

detaillierte Beschreibung

Definition in Zeile 41 der Datei gatekeeper.h .

Felddokumentation

hw_device_t allgemein

Gängige Methoden des Gatekeeper-Geräts. Wie oben muss dies das erste Mitglied von keymaster_device sein.

Definition in Zeile 46 der Datei gatekeeper.h .

int(* delete_all_users)(const struct gatekeeper_device *dev)

Definition in Zeile 173 der Datei gatekeeper.h .

int(* delete_user)(const struct gatekeeper_device *dev, uint32_t uid)

Definition in Zeile 159 der Datei gatekeeper.h .

int(* enroll)(const struct gatekeeper_device *dev, uint32_t uid, const uint8_t *current_password_handle, uint32_t current_password_handle_length, const uint8_t *current_password, uint32_t current_password_length, const uint8_t *desired_password, uint32_t gewünschte_password_length, uint8_t **enrolled_password_handle, uint32_t *enrolled_password_handle_length)

Registriert das gewünschte_Passwort, das von einer vom Benutzer ausgewählten PIN oder einem Passwort abgeleitet werden sollte, wobei der private Schlüssel des Authentifizierungsfaktors nur zum Registrieren von Authentifizierungsfaktordaten verwendet wird.

Wenn bereits ein Passwort registriert war, sollte es in „current_password_handle“ angegeben werden, zusammen mit dem aktuellen Passwort in „current_password“, das anhand von „current_password_handle“ validiert werden soll.

Parameter:

  • dev: Zeiger auf gatekeeper_device , erfasst durch Aufrufe von gatekeeper_open
  • uid: die Android-Benutzerkennung
  • current_password_handle: das aktuell registrierte Passwort-Handle, das der Benutzer ersetzen möchte. Kann null sein, wenn derzeit kein registriertes Passwort vorhanden ist.
  • current_password_handle_length: Die Länge des Puffers in Bytes, auf den current_password_handle zeigt. Muss 0 sein, wenn current_password_handle NULL ist.
  • current_password: das aktuelle Passwort des Benutzers im Klartext. Wenn es angezeigt wird, MUSS es anhand von current_password_handle überprüft werden.
  • current_password_length: Die Größe des Puffers in Bytes, auf den current_password zeigt. Muss 0 sein, wenn das aktuelle_Passwort NULL ist.
  • gewünschtes_Passwort: das neue Passwort, das der Benutzer im Klartext registrieren möchte. Kann nicht Null sein.
  • gewünschte_passwortlänge: die Länge des Puffers in Bytes, auf den das gewünschte_passwort zeigt.
  • enrolled_password_handle: Bei Erfolg wird ein Puffer mit dem neuen Passwort-Handle zugewiesen, der auf das in wünschte_passwort angegebene Passwort verweist. Dieser Puffer kann bei nachfolgenden Aufrufen zur Registrierung oder Überprüfung verwendet werden. Der Aufrufer ist dafür verantwortlich, die Zuordnung dieses Puffers über einen Aufruf von delete[] aufzuheben.
  • enrolled_password_handle_length: Zeiger auf die Länge in Bytes des Puffers, der von dieser Funktion zugewiesen wurde und auf den *enrolled_password_handle_length zeigt.

Kehrt zurück:

  • 0 für Erfolg
  • Ein Fehlercode < 0 bei Fehler, oder
  • Ein Timeout-Wert T > 0, wenn der Anruf erst nach Ablauf von T Millisekunden erneut versucht werden soll.

Im Fehlerfall wird „enrolled_password_handle“ nicht zugewiesen.

Definition in Zeile 91 der Datei gatekeeper.h .

int(* verify)(const struct gatekeeper_device *dev, uint32_t uid, uint64_t Challenge, const uint8_t *enrolled_password_handle, uint32_t enrolled_password_handle_length, const uint8_t *provided_password, uint32_t Provided_password_length, uint8_t **auth_token, uint32_t *au th_token_length, bool *request_reenroll)

Überprüft, ob das bereitgestellte_Passwort mit dem registrierten_Passwort-Handle übereinstimmt.

Implementierungen dieses Moduls können das Ergebnis dieses Aufrufs behalten, um die Aktualität der Authentifizierung zu bestätigen.

Bei Erfolg wird die Adresse eines Verifizierungstokens in auth_token geschrieben, das zur Bestätigung der Kennwortverifizierung gegenüber anderen vertrauenswürdigen Diensten verwendet werden kann. Clients können für diesen Wert NULL übergeben.

Parameter:

  • dev: Zeiger auf gatekeeper_device , erfasst durch Aufrufe von gatekeeper_open
  • uid: die Android-Benutzerkennung
  • Challenge: Eine optionale Challenge zur Authentifizierung, oder 0. Wird verwendet, wenn ein separater Authentifikator eine Passwortverifizierung anfordert oder für die transaktionale Passwortauthentifizierung.
  • enrolled_password_handle: das aktuell registrierte Passwort-Handle, anhand dessen der Benutzer überprüfen möchte.
  • enrolled_password_handle_length: Die Länge des Puffers in Bytes, auf den enrolled_password_handle zeigt
  • Provided_password: das Klartext-Passwort, das anhand des enrolled_password_handle überprüft werden soll
  • Provided_password_length: Die Länge des Puffers in Bytes, auf den durch Provided_password verwiesen wird
  • auth_token: Bei Erfolg wird *auth_token ein Puffer zugewiesen, der das aus dieser Überprüfung resultierende Authentifizierungstoken enthält. Der Aufrufer ist dafür verantwortlich, diesen Speicher über einen Aufruf von delete[] freizugeben.
  • auth_token_length: Bei Erfolg wird die Länge in Bytes des Authentifizierungstokens, das *auth_token zugewiesen wurde, *auth_token_length zugewiesen
  • request_reenroll: eine Anfrage an die oberen Schichten, das verifizierte Passwort aufgrund einer Versionsänderung erneut zu registrieren. Wird nicht gesetzt, wenn die Überprüfung fehlschlägt.

Kehrt zurück:

  • 0 für Erfolg
  • Ein Fehlercode < 0 bei Fehler, oder
  • Ein Timeout-Wert T > 0, wenn der Anruf erst nach Ablauf von T Millisekunden erneut versucht werden soll. Im Fehlerfall wird das Authentifizierungstoken nicht zugewiesen

Definition in Zeile 141 der Datei gatekeeper.h .


Die Dokumentation für diese Struktur wurde aus der folgenden Datei generiert: