Riferimento alla struttura gatekeeper_device

Riferimento alla struttura gatekeeper_device

#include < gatekeeper.h >

Campi dati

hw_device_t   comuni
 
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 **enrolled_password_handle, uint32_t *enrolled_password_handle_length)
 
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 *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 dei campi

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

Definizione nella riga 46 del file gatekeeper.h .

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

Definizione nella 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 **enrolled_password_handle, uint32_t *enrolled_password_handle_length)

Registra desired_password, che deve essere derivato da un PIN o una password selezionati dall'utente, con la chiave privata del fattore di autenticazione utilizzata solo per registrare i dati del fattore di autenticazione.

Se è già stata registrata una password, deve essere fornita in current_password_handle, insieme alla password attuale in current_password che deve essere convalidata in base a current_password_handle.

Parametri:

  • dev: puntatore a gatekeeper_device acquisito tramite chiamate a gatekeeper_open
  • uid: l'identificatore utente Android
  • current_password_handle: l'handle della password attualmente registrata che l'utente vuole sostituire. Può essere nullo se non è attualmente registrata alcuna password.
  • current_password_handle_length: la lunghezza in byte del buffer a cui fa riferimento current_password_handle. Deve essere 0 se current_password_handle è NULL.
  • current_password: la password attuale dell'utente in testo normale. Se presente, DEVE essere verificato in base a current_password_handle.
  • current_password_length: la dimensione in byte del buffer a cui fa riferimento current_password. Deve essere 0 se current_password è NULL.
  • desired_password: la nuova password che l'utente vuole registrare in testo normale. Non può essere NULL.
  • desired_password_length: la lunghezza in byte del buffer a cui fa riferimento desired_password.
  • enrolled_password_handle: in caso di esito positivo, verrà allocato un buffer con il nuovo handle della password che fa riferimento alla password fornita in desired_password. Questo buffer può essere utilizzato nelle chiamate successive per la registrazione o la verifica. L'utente che chiama è responsabile della deallocazione di questo buffer tramite una chiamata a delete[]
  • enrolled_password_handle_length: puntatore alla lunghezza in byte del buffer allocato da questa funzione e a cui fa riferimento *enrolled_password_handle_length.

Restituisce:

  • 0 in caso di esito positivo
  • Un codice di errore < 0 in caso di errore oppure
  • Un valore di timeout T > 0 se non deve essere riprovato a effettuare la chiamata finché non sono trascorsi T millisecondi.

In caso di errore, enrolled_password_handle non verrà allocato.

Definizione nella riga 91 del file 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 *auth_token_length, bool *request_reenroll)

Verifica che la password fornita corrisponda a handle_password_registrata.

Le implementazioni di questo modulo potrebbero conservare il risultato di questa chiamata per attestare la recente autenticazione.

In caso di esito positivo, scrive l'indirizzo di un token di verifica in 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 utente Android
  • challenge: una verifica facoltativa rispetto alla quale eseguire l'autenticazione oppure 0. Viene utilizzato quando un authenticator separato richiede la verifica della password o per l'autenticazione della password per le transazioni.
  • handle_password_registrata: l'handle della password attualmente registrata rispetto al quale l'utente vuole eseguire la verifica.
  • enrolled_password_handle_length: la lunghezza in byte del buffer a cui fa riferimento enrolled_password_handle
  • provided_password: la password in testo normale da verificare in base a enrolled_password_handle
  • provided_password_length: la lunghezza in byte del buffer a cui fa riferimento provided_password
  • auth_token: in caso di esito positivo, un buffer contenente il token di autenticazione risultante da questa verifica viene assegnato ad *auth_token. È responsabilità del chiamante deallocare questa memoria tramite una chiamata a delete[]
  • auth_token_length: in caso di esito positivo, 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 di nuovo la password verificata a causa di una modifica della versione. Non impostato se la verifica non va a buon fine.

Restituisce:

  • 0 in caso di esito positivo
  • Un codice di errore < 0 in caso di errore oppure
  • Un valore di timeout T > 0 se non deve essere riprovato a effettuare la chiamata finché non sono trascorsi T millisecondi. In caso di errore, il token di autorizzazione non verrà allocato

Definizione nella riga 141 del file gatekeeper.h .


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