Riferimento alla struttura gatekeeper_device

Riferimento alla struttura gatekeeper_device

#include < gatekeeper.h >

Campi dati

hw_dispositivo_t comune
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 Desired_password_length, uint8_t **iscritto _password_handle, uint32_t *enrolled_password_handle_length)
int(* verificare )(const struct gatekeeper_device *dev, uint32_t uid, uint64_t challenge, const uint8_t *enrolled_password_handle, uint32_t iscritti_password_handle_length, const uint8_t *provided_password, uint32_t fornito_password_length, uint8_t **auth_token, uint32_t *auth_token_length , bool *request_reenroll)
int(* delete_user )(const struct gatekeeper_device *dev, uint32_t uid)
int(* delete_all_users )(const struct gatekeeper_device *dev)

Descrizione dettagliata

Definizione alla riga 41 del file gatekeeper.h .

Documentazione sul campo

Metodi comuni del dispositivo gatekeeper. Come sopra, questo deve essere il primo membro di keymaster_device.

Definizione alla riga 46 del file gatekeeper.h .

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

Definizione alla riga 173 del file gatekeeper.h .

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

Definizione alla riga 159 del file 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 Desired_password_length, uint8_t ** iscritta_password_handle, uint32_t *iscritta_password_handle_lunghezza)

Registra la password_desiderata, che deve essere derivata da un pin o una password selezionati dall'utente, con la chiave privata del fattore di autenticazione utilizzata solo per la registrazione dei dati del fattore di autenticazione.

Se è già stata registrata una password, dovrebbe essere fornita in current_password_handle, insieme alla password corrente in current_password che dovrebbe essere convalidata rispetto a current_password_handle.

parametri:

  • dev: puntatore a gatekeeper_device acquisito tramite chiamate a gatekeeper_open
  • uid: l'identificatore dell'utente Android
  • current_password_handle: l'handle della password attualmente registrata che l'utente desidera sostituire. Può essere nullo se non è presente alcuna password attualmente registrata.
  • current_password_handle_length: la lunghezza in byte del buffer puntato da current_password_handle. Deve essere 0 se current_password_handle è NULL.
  • current_password: la password corrente dell'utente in testo semplice. Se presentato, DEVE verificare rispetto a current_password_handle.
  • current_password_length: la dimensione in byte del buffer a cui punta current_password. Deve essere 0 se current_password è NULL.
  • password_desiderata: la nuova password che l'utente desidera registrare in testo semplice. Non può essere NULL.
  • la lunghezza_password_desiderata: la lunghezza in byte del buffer a cui punta la password_desiderata.
  • iscritta_password_handle: in caso di successo, verrà allocato un buffer con il nuovo handle di password che fa riferimento alla password fornita in wanted_password. Questo buffer può essere utilizzato nelle chiamate successive per la registrazione o la verifica. Il chiamante è responsabile della deallocazione di questo buffer tramite una chiamata a delete[]
  • iscritti_password_handle_length: puntatore alla lunghezza in byte del buffer allocato da questa funzione e puntato da *enrolled_password_handle_length.

Ritorna:

  • 0 in caso di successo
  • Un codice di errore < 0 in caso di errore oppure
  • Un valore di timeout T > 0 se la chiamata non deve essere ritentata prima che siano trascorsi T millisecondi.

In caso di errore, Registered_password_handle non verrà allocato.

Definizione alla riga 91 del file gatekeeper.h .

int(* verifica)(const struct gatekeeper_device *dev, uint32_t uid, uint64_t challenge, const uint8_t *enrolled_password_handle, uint32_t iscritti_password_handle_length, const uint8_t *provided_password, uint32_t fornito_password_length, uint8_t **auth_token, uint32_t *auth_to ken_length, bool *request_reenroll)

Verifica la password_fornita corrisponde alla_password_handle registrata.

Le implementazioni di questo modulo possono conservare il risultato di questa chiamata per attestare l'attualità dell'autenticazione.

In caso di successo, scrive l'indirizzo di un token di verifica su auth_token, utilizzabile per attestare la verifica della password ad altri servizi attendibili. I client possono passare NULL per questo valore.

parametri:

  • dev: puntatore a gatekeeper_device acquisito tramite chiamate a gatekeeper_open
  • uid: l'identificatore dell'utente Android
  • sfida: una sfida facoltativa contro cui autenticarsi o 0. Utilizzato quando un autenticatore separato richiede la verifica della password o per l'autenticazione della password transazionale.
  • Registered_password_handle: l'handle della password attualmente registrata con cui l'utente desidera verificare.
  • Registered_password_handle_length: la lunghezza in byte del buffer a cui punta Register_Password_Handle
  • fornito_password: la password in testo semplice da verificare rispetto a Registered_password_handle
  • fornito_password_length: la lunghezza in byte del buffer a cui punta fornito_password
  • auth_token: in caso di successo, un buffer contenente il token di autenticazione risultante da questa verifica viene assegnato a *auth_token. Il chiamante è responsabile della deallocazione di questa memoria tramite una chiamata a delete[]
  • auth_token_length: in caso di successo, la lunghezza in byte del token di autenticazione assegnato a *auth_token verrà assegnata a *auth_token_length
  • request_reenroll: una richiesta ai livelli superiori di registrare nuovamente la password verificata a causa di un cambio di versione. Non impostato se la verifica fallisce.

Ritorna:

  • 0 in caso di successo
  • Un codice di errore < 0 in caso di errore oppure
  • Un valore di timeout T > 0 se la chiamata non deve essere ritentata prima che siano trascorsi T millisecondi. In caso di errore, il token di autenticazione non verrà assegnato

Definizione alla riga 141 del file gatekeeper.h .


La documentazione per questa struttura è stata generata dal seguente file: