Referensi Struct gatekeeper_device

Referensi Struct gatekeeper_device

#include < gatekeeper.h >

Kolom Data

hw_device_t   umum
 
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)
 

Deskripsi Mendetail

Definisi di baris 41 file gatekeeper.h .

Dokumentasi Bidang

Metode umum perangkat gatekeeper. Seperti di atas, ini harus menjadi anggota pertama keymaster_device.

Definisi di baris 46 dari file gatekeeper.h .

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

Definisi di baris 173 dari file gatekeeper.h .

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

Definisi pada baris 159 dari file 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)

Mendaftarkan desired_password, yang harus berasal dari PIN atau sandi yang dipilih pengguna, dengan kunci pribadi faktor autentikasi yang hanya digunakan untuk mendaftarkan data faktor autentikasi.

Jika sudah ada sandi yang terdaftar, sandi tersebut harus diberikan di current_password_handle, bersama dengan sandi saat ini di current_password yang harus divalidasi terhadap current_password_handle.

Parameter:

  • dev: pointer ke gatekeeper_device yang diperoleh melalui panggilan ke gatekeeper_open
  • uid: ID pengguna Android
  • current_password_handle: nama sandi yang saat ini terdaftar dan ingin diganti oleh pengguna. Dapat berupa null jika saat ini tidak ada sandi yang terdaftar.
  • current_password_handle_length: panjang buffer dalam byte yang ditunjuk oleh current_password_handle. Harus 0 jika current_password_handle adalah NULL.
  • current_password: sandi pengguna saat ini dalam teks biasa. Jika ditampilkan, verifikasi HARUS dilakukan terhadap current_password_handle.
  • current_password_length: ukuran dalam byte buffer yang ditunjuk oleh current_password. Harus 0 jika current_password adalah NULL.
  • desired_password: sandi baru yang ingin didaftarkan pengguna dalam teks biasa. Tidak boleh NULL.
  • desired_password_length: panjang buffer dalam byte yang ditunjuk oleh desired_password.
  • enrolled_password_handle: jika berhasil, buffer akan dialokasikan dengan handle sandi baru yang mereferensikan sandi yang diberikan di desired_password. Buffer ini dapat digunakan pada panggilan berikutnya untuk mendaftar atau memverifikasi. Pemanggil bertanggung jawab untuk mengalokasikan ulang buffering ini melalui panggilan ke delete[]
  • enrolled_password_handle_length: pointer ke panjang buffer dalam byte yang dialokasikan oleh fungsi ini dan ditunjuk oleh *enrolled_password_handle_length.

Mengembalikan:

  • 0 jika berhasil
  • Kode error < 0 saat gagal, atau
  • Nilai waktu tunggu T > 0 jika panggilan tidak boleh dicoba lagi hingga berlalu T milidetik.

Jika terjadi error, enrolled_password_handle tidak akan dialokasikan.

Definisi di baris 91 dari file 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)

Memverifikasi provided_password cocok dengan enrolled_password_handle.

Implementasi modul ini dapat mempertahankan hasil panggilan ini untuk membuktikan keaktualan autentikasi.

Jika berhasil, tulis alamat token verifikasi ke auth_token, yang dapat digunakan untuk membuktikan verifikasi sandi ke layanan tepercaya lainnya. Klien dapat meneruskan NULL untuk nilai ini.

Parameter:

  • dev: pointer ke gatekeeper_device yang diperoleh melalui panggilan ke gatekeeper_open
  • uid: ID pengguna Android
  • challenge: Tantangan opsional untuk melakukan autentikasi, atau 0. Digunakan saat pengautentikasi terpisah meminta verifikasi sandi, atau untuk autentikasi sandi transaksional.
  • enrolled_password_handle: nama sebutan sandi yang saat ini terdaftar yang ingin diverifikasi oleh pengguna.
  • enrolled_password_handle_length: panjang buffer dalam byte yang ditunjuk oleh enrolled_password_handle
  • provided_password: sandi teks biasa yang akan diverifikasi dengan enrolled_password_handle
  • provided_password_length: panjang buffer dalam byte yang ditunjuk oleh provided_password
  • auth_token: jika berhasil, buffering yang berisi token autentikasi yang dihasilkan dari verifikasi ini akan ditetapkan ke *auth_token. Pemanggil bertanggung jawab untuk membatalkan alokasi memori ini melalui panggilan ke delete[]
  • auth_token_length: jika berhasil, panjang token autentikasi dalam byte yang ditetapkan ke *auth_token akan ditetapkan ke *auth_token_length
  • request_reenroll: permintaan ke lapisan atas untuk mendaftarkan ulang sandi terverifikasi karena perubahan versi. Tidak ditetapkan jika verifikasi gagal.

Mengembalikan:

  • 0 jika berhasil
  • Kode error < 0 saat gagal, atau
  • Nilai waktu tunggu T > 0 jika panggilan tidak boleh dicoba lagi hingga berlalu T milidetik. Jika terjadi error, token autentikasi tidak akan dialokasikan

Definisi di baris 141 dari file gatekeeper.h .


Dokumentasi untuk struct ini dibuat dari file berikut: