Справочник по структуре Gatekeeper_device

Справочник по структуре Gatekeeper_device

#include < gatekeeper.h >

Поля данных

hw_device_t общий
интервал(* 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 желаемая_длина_пароля, uint8_t **зарегистрирован _password_handle, uint32_t *enrolled_password_handle_length)
интервал(* проверить )(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 Provide_password_length, uint8_t **auth_token, uint32_t *auth_token _length, bool *request_reenroll)
интервал(* delete_user )(const struct Gatekeeper_device *dev, uint32_t uid)
интервал(* delete_all_users )(const struct Gatekeeper_device *dev)

Подробное описание

Определение в строке 41 файла Gatekeeper.h .

Полевая документация

hw_device_t общий

Распространенные методы устройства привратника. Как указано выше, это должен быть первый член keymaster_device.

Определение в строке 46 файла Gatekeeper.h .

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

Определение в строке 173 файла Gatekeeper.h .

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

Определение в строке 159 файла 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 желаемая_длина_пароля, uint8_t ** enrolled_password_handle, uint32_t *enrolled_password_handle_length)

Регистрирует желаемый_пароль, который должен быть получен из выбранного пользователем PIN-кода или пароля, с закрытым ключом фактора аутентификации, используемым только для регистрации данных фактора аутентификации.

Если уже был зарегистрирован пароль, его следует указать в current_password_handle вместе с текущим паролем в current_password, который должен проверяться на соответствие current_password_handle.

Параметры:

  • dev: указатель на Gatekeeper_device , полученный посредством вызовов Gatekeeper_open.
  • uid: идентификатор пользователя Android
  • current_password_handle: текущий зарегистрированный дескриптор пароля, который пользователь хочет заменить. Может быть нулевым, если в данный момент не зарегистрирован пароль.
  • current_password_handle_length: длина в байтах буфера, на который указывает current_password_handle. Должно быть 0, если current_password_handle имеет значение NULL.
  • current_password: текущий пароль пользователя в виде обычного текста. Если он представлен, он ДОЛЖЕН сверяться с current_password_handle.
  • current_password_length: размер в байтах буфера, на который указывает current_password. Должно быть 0, если текущий_пароль имеет значение NULL.
  • желаемый_пароль: новый пароль, который пользователь желает зарегистрировать в виде обычного текста. Не может быть НУЛЕМ.
  • желаемая_длина_пароля: длина в байтах буфера, на который указывает желаемый_пароль.
  • enrolled_password_handle: в случае успеха будет выделен буфер с новым дескриптором пароля, ссылающимся на пароль, указанный в желаемом_пароле. Этот буфер можно использовать при последующих вызовах для регистрации или проверки. Вызывающая сторона отвечает за освобождение этого буфера посредством вызова delete[]
  • enrolled_password_handle_length: указатель на длину в байтах буфера, выделенного этой функцией и на который указывает *enrolled_password_handle_length.

Возврат:

  • 0 в случае успеха
  • Код ошибки < 0 в случае сбоя или
  • Значение тайм-аута T > 0, если повторную попытку вызова не следует выполнять до тех пор, пока не истечет T миллисекунд.

В случае ошибки enrolled_password_handle не будет выделен.

Определение в строке 91 файла 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 Provide_password_length, uint8_t **auth_token, uint32_t *auth _token_length, bool *request_reenroll)

Проверяет соответствие предоставленного_пароля enrolled_password_handle.

Реализации этого модуля могут сохранять результат этого вызова для подтверждения актуальности аутентификации.

В случае успеха записывает адрес токена проверки в auth_token, который можно использовать для подтверждения проверки пароля другим доверенным службам. Клиенты могут передавать в качестве этого значения значение NULL.

Параметры:

  • dev: указатель на Gatekeeper_device , полученный посредством вызовов Gatekeeper_open.
  • uid: идентификатор пользователя Android
  • запрос: необязательный запрос для аутентификации или 0. Используется, когда отдельный аутентификатор запрашивает проверку пароля или для аутентификации транзакционного пароля.
  • enrolled_password_handle: текущий зарегистрированный дескриптор пароля, который пользователь хочет проверить.
  • enrolled_password_handle_length: длина в байтах буфера, на который указывает enrolled_password_handle.
  • предоставленный_пароль: текстовый пароль, который необходимо проверить по дескриптору enrolled_password_handle.
  • предоставленный_пароль_длина: длина в байтах буфера, на который указывает предоставленный_пароль.
  • auth_token: в случае успеха буфер, содержащий токен аутентификации, полученный в результате этой проверки, назначается *auth_token. Вызывающая сторона отвечает за освобождение этой памяти посредством вызова delete[]
  • auth_token_length: в случае успеха длина токена аутентификации, присвоенного *auth_token, в байтах будет присвоена *auth_token_length.
  • request_reenroll: запрос к верхним уровням на повторную регистрацию проверенного пароля в связи со сменой версии. Не устанавливается, если проверка не удалась.

Возврат:

  • 0 в случае успеха
  • Код ошибки < 0 в случае сбоя или
  • Значение тайм-аута T > 0, если повторную попытку вызова не следует выполнять до тех пор, пока не истечет T миллисекунд. В случае ошибки токен аутентификации не будет выделен.

Определение в строке 141 файла Gatekeeper.h .


Документация для этой структуры была создана из следующего файла:
  • Аппаратное обеспечение/libhardware/include/hardware/ gatekeeper.h