Referencia de la estructura gatekeeper_device

Referencia de la estructura gatekeeper_device

#include < gatekeeper.h >

Campos de datos

hw_device_t   común
 
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)
 

Descripción detallada

Definición en la línea 41 del archivo gatekeeper.h .

Documentación de campos

Métodos comunes del dispositivo de portero Al igual que antes, este debe ser el primer miembro de keymaster_device.

Definición en la línea 46 del archivo gatekeeper.h .

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

Definición en la línea 173 del archivo gatekeeper.h .

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

Definición en la línea 159 del archivo 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)

Inscribe desired_password, que debe derivarse de un PIN o una contraseña que haya seleccionado el usuario, con la clave privada del factor de autenticación que se usa solo para inscribir los datos del factor de autenticación.

Si ya había una contraseña inscrita, se debe proporcionar en current_password_handle, junto con la contraseña actual en current_password que debe validarse en current_password_handle.

Parámetros:

  • dev: Puntero a gatekeeper_device adquirido a través de llamadas a gatekeeper_open
  • uid: El identificador de usuario de Android
  • current_password_handle: Es el identificador de contraseña inscrito actualmente que el usuario desea reemplazar. Puede ser nulo si no hay una contraseña inscrita actualmente.
  • current_password_handle_length: Es la longitud en bytes del búfer al que apunta current_password_handle. Debe ser 0 si current_password_handle es NULO.
  • current_password: La contraseña actual del usuario en texto sin formato. Si se presenta, DEBE verificarse en current_password_handle.
  • current_password_length: Es el tamaño en bytes del búfer al que apunta current_password. Debe ser 0 si current_password es NULO.
  • desired_password: Es la contraseña nueva que el usuario desea inscribir en texto sin formato. No puede ser NULO.
  • desired_password_length: Es la longitud en bytes del búfer al que apunta desired_password.
  • enrolled_password_handle: Si la operación se realiza correctamente, se asignará un búfer con el nuevo identificador de contraseña que hace referencia a la contraseña proporcionada en desired_password. Este búfer se puede usar en llamadas posteriores para inscribir o verificar. El llamador es responsable de desasignar este búfer mediante una llamada a delete[].
  • enrolled_password_handle_length: Es un puntero a la longitud en bytes del búfer que asignó esta función y al que apunta *enrolled_password_handle_length.

Devoluciones:

  • 0 en caso de éxito
  • Un código de error inferior a 0 en caso de falla
  • Un valor de tiempo de espera T > 0 si no se debe volver a intentar la llamada hasta que hayan transcurrido T milisegundos.

En caso de error, no se asignará enrolled_password_handle.

Definición en la línea 91 del archivo 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 que provided_password coincida con enrolled_password_handle.

Las implementaciones de este módulo pueden retener el resultado de esta llamada para certificar la recencia de la autenticación.

Si se realiza correctamente, escribe la dirección de un token de verificación en auth_token, que se puede usar para certificar la verificación de contraseña a otros servicios de confianza. Los clientes pueden pasar NULL para este valor.

Parámetros:

  • dev: Puntero a gatekeeper_device adquirido a través de llamadas a gatekeeper_open
  • uid: El identificador de usuario de Android
  • challenge: Es una verificación opcional para autenticarse o 0. Se usa cuando un autenticador independiente solicita la verificación de contraseña o para la autenticación de contraseñas transaccionales.
  • enrolled_password_handle: Es el identificador de contraseña inscrito que el usuario desea verificar.
  • enrolled_password_handle_length: Es la longitud en bytes del búfer al que apunta enrolled_password_handle.
  • provided_password: La contraseña de texto simple que se verificará en enrolled_password_handle
  • provided_password_length: Es la longitud en bytes del búfer al que apunta provided_password.
  • auth_token: Si la autenticación se realiza correctamente, se asigna un búfer que contiene el token de autenticación resultante de esta verificación a *auth_token. El llamador es responsable de anular la asignación de esta memoria mediante una llamada a delete[].
  • auth_token_length: Si se realiza correctamente, la longitud en bytes del token de autenticación asignado a *auth_token se asignará a *auth_token_length.
  • request_reenroll: Es una solicitud a las capas superiores para volver a inscribir la contraseña verificada debido a un cambio de versión. No se establece si la verificación falla.

Devoluciones:

  • 0 en caso de éxito
  • Un código de error inferior a 0 en caso de falla
  • Un valor de tiempo de espera T > 0 si no se debe volver a intentar la llamada hasta que hayan transcurrido T milisegundos. En caso de error, no se asignará el token de autenticación.

Definición en la línea 141 del archivo gatekeeper.h .


La documentación de esta struct se generó a partir del siguiente archivo: