Referência de estrutura gatekeeper_device
#include < gatekeeper.h >
Campos de dados | |
hw_device_t | comum |
interno(* | inscrever-se ) (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 desejado_password_length, uint8_t **enrolled_password_handle, uint32_t *enrolled_password_handle_length) |
interno(* | verificar ) (const struct gatekeeper_device *dev, uint32_t uid, uint64_t desafio, const uint8_t *enrolled_password_handle, uint32_t subscribed_password_handle_length, const uint8_t *provided_password, uint32_t provide_password_length, uint8_t **auth_token, uint32_t *auth_token_length, bool *request_reenroll) |
interno(* | delete_user )(const struct gatekeeper_device *dev, uint32_t uid) |
interno(* | delete_all_users )(const estrutura gatekeeper_device *dev) |
Descrição detalhada
Definição na linha 41 do arquivo gatekeeper.h .
Documentação de campo
hw_device_t comum |
Métodos comuns do dispositivo gatekeeper. Como acima, este deve ser o primeiro membro de keymaster_device.
Definição na linha 46 do arquivo gatekeeper.h .
int(* delete_all_users)(const estrutura gatekeeper_device *dev) |
Definição na linha 173 do arquivo gatekeeper.h .
int(* delete_user)(const struct gatekeeper_device *dev, uint32_t uid) |
Definição na linha 159 do arquivo gatekeeper.h .
int(* inscrever-se)(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 desejado_password_ comprimento, uint8_t **enrolled_password_handle, uint32_t *enrolled_password_handle_length) |
Inscreve a senha_desejada, que deve ser derivada de um PIN ou senha selecionada pelo usuário, com a chave privada do fator de autenticação usada apenas para registrar dados do fator de autenticação.
Caso já exista uma senha cadastrada, ela deverá ser informada em current_password_handle, juntamente com a senha atual em current_password que deverá ser validada em relação a current_password_handle.
Parâmetros:
- dev: ponteiro para gatekeeper_device adquirido através de chamadas para gatekeeper_open
- uid: o identificador do usuário Android
- current_password_handle: o identificador de senha atualmente registrado que o usuário deseja substituir. Pode ser nulo se não houver senha cadastrada no momento.
- current_password_handle_length: o comprimento em bytes do buffer apontado por current_password_handle. Deve ser 0 se current_password_handle for NULL.
- current_password: a senha atual do usuário em texto simples. Se apresentado, DEVE verificar em relação a current_password_handle.
- current_password_length: o tamanho em bytes do buffer apontado por current_password. Deve ser 0 se current_password for NULL.
- desejada_password: a nova senha que o usuário deseja cadastrar em texto simples. Não pode ser nulo.
- desejado_password_length: o comprimento em bytes do buffer apontado por desejado_password.
- matriculado_password_handle: em caso de sucesso, um buffer será alocado com o novo identificador de senha referenciando a senha fornecida em desejado_password. Esse buffer pode ser usado em chamadas subsequentes para inscrição ou verificação. O chamador é responsável por desalocar esse buffer por meio de uma chamada para delete[]
- matriculado_password_handle_length: ponteiro para o comprimento em bytes do buffer alocado por esta função e apontado por *enrolled_password_handle_length.
Retorna:
- 0 em sucesso
- Um código de erro < 0 em caso de falha ou
- Um valor de tempo limite T > 0 se a chamada não deve ser tentada novamente até que T milissegundos tenham decorrido.
Em caso de erro, subscribe_password_handle não será alocado.
Definição na linha 91 do arquivo gatekeeper.h .
int(* verificar)(const struct gatekeeper_device *dev, uint32_t uid, uint64_t desafio, const uint8_t *enrolled_password_handle, uint32_t subscribed_password_handle_length, const uint8_t *provided_password, uint32_t provide_password_length, uint8_t **auth_token, uint3 2_t *auth_token_length, bool *request_reenroll) |
Verifica se a senha fornecida corresponde a subscribed_password_handle.
As implementações deste módulo podem reter o resultado desta chamada para atestar a atualidade da autenticação.
Em caso de sucesso, grava o endereço de um token de verificação em auth_token, utilizável para atestar a verificação de senha para outros serviços confiáveis. Os clientes podem passar NULL para este valor.
Parâmetros:
- dev: ponteiro para gatekeeper_device adquirido através de chamadas para gatekeeper_open
- uid: o identificador do usuário Android
- desafio: Um desafio opcional para autenticação ou 0. Usado quando um autenticador separado solicita verificação de senha ou para autenticação de senha transacional.
- matriculado_password_handle: o identificador de senha atualmente registrado que o usuário deseja verificar.
- matriculado_password_handle_length: o comprimento em bytes do buffer apontado por matriculado_password_handle
- fornecido_password: a senha em texto simples a ser verificada em relação ao subscriber_password_handle
- fornecido_password_length: o comprimento em bytes do buffer apontado por fornecido_password
- auth_token: em caso de sucesso, um buffer contendo o token de autenticação resultante desta verificação é atribuído a *auth_token. O chamador é responsável por desalocar esta memória através de uma chamada para delete[]
- auth_token_length: em caso de sucesso, o comprimento em bytes do token de autenticação atribuído a *auth_token será atribuído a *auth_token_length
- request_reenroll: uma solicitação às camadas superiores para registrar novamente a senha verificada devido a uma mudança de versão. Não definido se a verificação falhar.
Retorna:
- 0 em sucesso
- Um código de erro < 0 em caso de falha ou
- Um valor de tempo limite T > 0 se a chamada não deve ser tentada novamente até que T milissegundos tenham decorrido. Em caso de erro, o token de autenticação não será alocado
Definição na linha 141 do arquivo gatekeeper.h .
A documentação desta estrutura foi gerada a partir do seguinte arquivo:
- hardware/libhardware/include/hardware/ gatekeeper.h