Referência de estrutura gatekeeper_device

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

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: