Referensi Struktur gatekeeper_device

Referensi Struktur gatekeeper_device

#include < gatekeeper.h >

Bidang Data

hw_perangkat_t umum
ke dalam(* mendaftar )(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 yang diinginkan_password_length, uint8_t **enrolled_ password_handle, uint32_t *enrolled_password_handle_length)
ke dalam(* verifikasi )(const struct gatekeeper_device *dev, uint32_t uid, uint64_t tantangan, const uint8_t *enrolled_password_handle, uint32_t terdaftar_password_handle_length, const uint8_t *provided_password, uint32_t disediakan_password_length, uint8_t **auth_token, uint32_t *auth_token_ panjang, bool *request_reenroll)
ke dalam(* delete_user )(const struct gatekeeper_device *dev, uint32_t uid)
ke dalam(* delete_all_users )(const struct gatekeeper_device *dev)

Detil Deskripsi

Definisi pada baris 41 file gatekeeper.h .

Dokumentasi Lapangan

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

Definisi pada baris 46 file gatekeeper.h .

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

Definisi pada baris 173 file gatekeeper.h .

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

Definisi pada baris 159 file gatekeeper.h .

int(* mendaftar)(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 yang diinginkan_password_length, uint8_t **en rolling_password_handle, uint32_t *enrolled_password_handle_length)

Mendaftarkan kata sandi_yang diinginkan, yang harus berasal dari pin atau kata sandi yang dipilih pengguna, dengan kunci pribadi faktor autentikasi hanya digunakan untuk mendaftarkan data faktor autentikasi.

Jika sudah ada kata sandi yang didaftarkan, maka kata sandi tersebut harus dimasukkan dalam current_password_handle, bersama dengan kata sandi saat ini di current_password yang harus divalidasi terhadap current_password_handle.

Parameter:

  • dev: penunjuk ke gatekeeper_device diperoleh melalui panggilan ke gatekeeper_open
  • uid: pengenal pengguna Android
  • current_password_handle: pegangan kata sandi yang terdaftar saat ini yang ingin diganti oleh pengguna. Mungkin nol jika tidak ada kata sandi yang terdaftar saat ini.
  • current_password_handle_length: panjang buffer dalam byte yang ditunjukkan oleh current_password_handle. Harus 0 jika current_password_handle adalah NULL.
  • current_password: kata sandi pengguna saat ini dalam teks biasa. Jika disajikan, HARUS memverifikasi terhadap current_password_handle.
  • current_password_length: ukuran buffer dalam byte yang ditunjukkan oleh current_password. Harus 0 jika kata sandi_saat ini adalah NULL.
  • diinginkan_password: kata sandi baru yang ingin didaftarkan pengguna dalam teks biasa. Tidak boleh NULL.
  • panjang_kata sandi yang diinginkan: panjang buffer dalam byte yang ditunjukkan oleh kata sandi_yang diinginkan.
  • terdaftar_password_handle: jika berhasil, buffer akan dialokasikan dengan pegangan kata sandi baru yang merujuk pada kata sandi yang diberikan di kata sandi_yang diinginkan. Buffer ini dapat digunakan pada panggilan berikutnya untuk mendaftar atau memverifikasi. Penelepon bertanggung jawab untuk membatalkan alokasi buffer ini melalui panggilan ke delete[]
  • terdaftar_password_handle_length: penunjuk ke panjang buffer yang dialokasikan oleh fungsi ini dalam byte dan ditunjuk oleh *enrolled_password_handle_length.

Pengembalian:

  • 0 pada kesuksesan
  • Kode kesalahan <0 jika gagal, atau
  • Nilai batas waktu T > 0 jika panggilan tidak boleh dicoba ulang hingga T milidetik telah berlalu.

Jika terjadi kesalahan, Registered_password_handle tidak akan dialokasikan.

Definisi pada baris 91 file gatekeeper.h .

int(* verifikasi)(const struct gatekeeper_device *dev, uint32_t uid, uint64_t tantangan, const uint8_t *enrolled_password_handle, uint32_t terdaftar_password_handle_length, const uint8_t *provided_password, uint32_t disediakan_password_length, uint8_t **auth_token, uint32_t *auth_ token_length, bool *request_reenroll)

Memverifikasi kecocokan_kata sandi yang disediakan dengan pegangan_kata sandi yang terdaftar.

Implementasi modul ini dapat menyimpan hasil panggilan ini untuk membuktikan kekinian otentikasi.

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

Parameter:

  • dev: penunjuk ke gatekeeper_device diperoleh melalui panggilan ke gatekeeper_open
  • uid: pengenal pengguna Android
  • tantangan: Tantangan opsional untuk mengautentikasi, atau 0. Digunakan ketika pengautentikasi terpisah meminta verifikasi kata sandi, atau untuk otentikasi kata sandi transaksional.
  • terdaftar_password_handle: pegangan kata sandi yang saat ini terdaftar yang ingin diverifikasi oleh pengguna.
  • Registered_password_handle_length: panjang buffer dalam byte yang ditunjuk oleh Registered_password_handle
  • kata sandi_yang disediakan: kata sandi teks biasa yang akan diverifikasi terhadap pegangan_kata sandi_terdaftar
  • disediakan_password_length: panjang buffer dalam byte yang ditunjukkan oleh disediakan_password
  • auth_token: jika berhasil, buffer yang berisi token autentikasi yang dihasilkan dari verifikasi ini ditugaskan ke *auth_token. Penelepon bertanggung jawab untuk membatalkan alokasi memori ini melalui panggilan untuk menghapus[]
  • auth_token_length: jika berhasil, panjang dalam byte token autentikasi yang ditetapkan ke *auth_token akan ditetapkan ke *auth_token_length
  • request_reenroll: permintaan ke lapisan atas untuk mendaftarkan ulang kata sandi terverifikasi karena perubahan versi. Tidak disetel jika verifikasi gagal.

Pengembalian:

  • 0 pada kesuksesan
  • Kode kesalahan <0 jika gagal, atau
  • Nilai batas waktu T > 0 jika panggilan tidak boleh dicoba ulang hingga T milidetik telah berlalu. Jika terjadi kesalahan, token autentikasi tidak akan dialokasikan

Definisi pada baris 141 file gatekeeper.h .


Dokumentasi untuk struct ini dihasilkan dari file berikut: