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
hw_device_t comune |
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:
- hardware/libhardware/include/hardware/ gatekeeper.h