Gatekeeper_device 구조체 참조
#include < gatekeeper.h >
데이터 필드 | |
hw_device_t | 흔한 |
정수(* | 등록 )(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) |
정수(* | verify )(const struct Gatekeeper_device *dev, uint32_t uid, uint64_t Challenge, const uint8_t *enrolled_password_handle, uint32_t listed_password_handle_length, const uint8_t *provided_password, uint32_t 제공된_password_length, uint8_t **auth_token, uint32_t *auth_token_length, bool * 요청_재등록) |
정수(* | delete_user )(const struct Gatekeeper_device *dev, uint32_t uid) |
정수(* | delete_all_users )(const struct Gatekeeper_device *dev) |
상세 설명
Gatekeeper.h 파일의 41 번째 줄에 정의되어 있습니다.
현장 문서
hw_device_t 공통 |
게이트키퍼 장치의 일반적인 방법. 위와 마찬가지로 keymaster_device의 첫 번째 구성원이어야 합니다.
Gatekeeper.h 파일의 46 행에 정의되어 있습니다.
int(* delete_all_users)(const struct Gatekeeper_device *dev) |
Gatekeeper.h 파일의 173 번째 줄에 정의되어 있습니다.
int(* delete_user)(const struct Gatekeeper_device *dev, uint32_t uid) |
Gatekeeper.h 파일의 159 행에 정의되어 있습니다.
int(* 등록)(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) |
인증 요소 데이터 등록에만 사용되는 인증 요소 개인 키를 사용하여 사용자가 선택한 PIN 또는 비밀번호에서 파생되어야 하는 Desired_password를 등록합니다.
이미 등록된 비밀번호가 있는 경우 current_password_handle에 대해 유효성을 검사해야 하는 current_password의 현재 비밀번호와 함께 current_password_handle에 제공되어야 합니다.
매개변수:
- dev: Gatekeeper_open 호출을 통해 획득된 Gatekeeper_device 에 대한 포인터
- uid: Android 사용자 식별자
- current_password_handle: 사용자가 대체하려는 현재 등록된 비밀번호 핸들입니다. 현재 등록된 비밀번호가 없으면 null일 수 있습니다.
- current_password_handle_length: current_password_handle이 가리키는 버퍼의 길이(바이트)입니다. current_password_handle이 NULL인 경우 0이어야 합니다.
- current_password: 일반 텍스트로 된 사용자의 현재 비밀번호. 제시된 경우 current_password_handle을 확인해야 합니다.
- current_password_length: current_password가 가리키는 버퍼의 크기(바이트)입니다. current_password가 NULL인 경우 0이어야 합니다.
- Desired_password: 사용자가 일반 텍스트로 등록하려는 새 비밀번호입니다. NULL일 수 없습니다.
- Desired_password_length: Desired_password가 가리키는 버퍼의 길이(바이트)입니다.
- 등록_비밀번호_핸들: 성공하면 원하는 비밀번호에 제공된 비밀번호를 참조하는 새 비밀번호 핸들이 포함된 버퍼가 할당됩니다. 이 버퍼는 등록 또는 확인을 위한 후속 호출에서 사용될 수 있습니다. 호출자는 delete[] 호출을 통해 이 버퍼의 할당을 해제해야 합니다.
- registered_password_handle_length: 이 함수에 의해 할당되고 *enrolled_password_handle_length가 가리키는 버퍼의 길이(바이트)에 대한 포인터입니다.
보고:
- 성공 시 0
- 실패 시 오류 코드 < 0, 또는
- T 밀리초가 경과할 때까지 호출을 다시 시도하지 않아야 하는 경우 시간 초과 값 T > 0입니다.
오류가 발생하면 listed_password_handle이 할당되지 않습니다.
Gatekeeper.h 파일의 91 번째 줄에 정의되어 있습니다.
int(* verify)(const struct Gatekeeper_device *dev, uint32_t uid, uint64_t Challenge, const uint8_t *enrolled_password_handle, uint32_t listed_password_handle_length, const uint8_t *provided_password, uint32_t 제공된_password_length, uint8_t **auth_token, uint32_t *auth_token_length, 부울 *request_reenroll) |
제공된_비밀번호가 등록된_비밀번호_핸들과 일치하는지 확인합니다.
이 모듈의 구현은 최근 인증을 증명하기 위해 이 호출의 결과를 유지할 수 있습니다.
성공하면 다른 신뢰할 수 있는 서비스에 대한 비밀번호 확인을 증명하는 데 사용할 수 있는 확인 토큰의 주소를 auth_token에 씁니다. 클라이언트는 이 값에 대해 NULL을 전달할 수 있습니다.
매개변수:
- dev: Gatekeeper_open 호출을 통해 획득된 Gatekeeper_device 에 대한 포인터
- uid: Android 사용자 식별자
- Challenge: 인증을 위한 선택적 챌린지 또는 0. 별도의 인증자가 비밀번호 확인을 요청하는 경우 또는 트랜잭션 비밀번호 인증에 사용됩니다.
- 등록된_비밀번호_핸들: 사용자가 확인하려는 현재 등록된 비밀번호 핸들입니다.
- 등록된_비밀번호_핸들_길이: 등록_비밀번호_핸들이 가리키는 버퍼의 길이(바이트)
- 제공된_비밀번호: 등록된_비밀번호_핸들에 대해 확인할 일반 텍스트 비밀번호
- 제공된_암호_길이: 제공된_암호가 가리키는 버퍼의 길이(바이트)
- auth_token: 성공하면 이 확인으로 인한 인증 토큰이 포함된 버퍼가 *auth_token에 할당됩니다. 호출자는 delete[] 호출을 통해 이 메모리 할당을 해제해야 합니다.
- auth_token_length: 성공하면 *auth_token에 할당된 인증 토큰의 길이(바이트)가 *auth_token_length에 할당됩니다.
- request_reenroll : 버전 변경으로 인해 검증된 비밀번호를 재등록해 달라는 상위 레이어 요청입니다. 확인에 실패하면 설정되지 않습니다.
보고:
- 성공 시 0
- 실패 시 오류 코드 < 0, 또는
- T 밀리초가 경과할 때까지 호출을 다시 시도하지 않아야 하는 경우 시간 초과 값 T > 0입니다. 오류가 발생하면 인증 토큰이 할당되지 않습니다.
Gatekeeper.h 파일의 141 번째 줄에 정의되어 있습니다.
이 구조체에 대한 문서는 다음 파일에서 생성되었습니다.
- hardware/libhardware/include/hardware/ gatekeeper.h