Gatekeeper_device 구조체 참조

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 번째 줄에 정의되어 있습니다.

현장 문서

게이트키퍼 장치의 일반적인 방법. 위와 마찬가지로 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 번째 줄에 정의되어 있습니다.


이 구조체에 대한 문서는 다음 파일에서 생성되었습니다.