Справочник по структуре 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