Odniesienie do struktury gatekeeper_device

Odniesienie do struktury gatekeeper_device

#include < gatekeeper.h >

Pola danych

hw_urządzenie_t wspólny
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 *pożądane_hasło, uint32_t pożądana_długość_hasła, uint8_t **zarejestrowano _password_handle, uint32_t *enrolled_password_handle_length)
int(* zweryfikuj )(const struktura gatekeeper_device *dev, uint32_t uid, uint64_t wyzwanie, const uint8_t *enrolled_password_handle, uint32_t enrolled_password_handle_length, const uint8_t *provided_password, uint32_t dostarczony_hasło_długość, uint8_t **auth_token, uint32_t *auth_token _length, bool *request_reenroll)
int(* usuń_użytkownika )(const struktura gatekeeper_device *dev, uint32_t uid)
int(* usuń_wszystkich_użytkowników )(stała struktura gatekeeper_device *dev)

szczegółowy opis

Definicja w linii 41 pliku gatekeeper.h .

Dokumentacja terenowa

hw_device_t wspólne

Typowe metody urządzenia gatekeepera. Jak wyżej, musi to być pierwszy element keymaster_device.

Definicja w linii 46 pliku gatekeeper.h .

int(* usuń_all_users)(const struktura gatekeeper_device *dev)

Definicja w linii 173 pliku gatekeeper.h .

int(* Delete_user)(const struktura gatekeeper_device *dev, uint32_t uid)

Definicja w linii 159 pliku 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 *bieżące_hasło, uint32_t current_password_length, const uint8_t *pożądane_hasło, uint32_t pożądana_długość_hasła, uint8_t ** uchwyt_hasła_rejestrowanego, uint32_t *długość uchwytu_hasła_rejestrowanego)

Rejestruje żądane_hasło, które powinno pochodzić z wybranego przez użytkownika kodu PIN lub hasła, z prywatnym kluczem czynnika uwierzytelniania używanym wyłącznie do rejestrowania danych czynnika uwierzytelniania.

Jeśli zostało już zarejestrowane hasło, należy je podać w uchwycie_bieżącego_hasła wraz z bieżącym hasłem w uchwycie_bieżącego_hasła, które powinno zostać zweryfikowane względem uchwytu_bieżącego_hasła.

Parametry:

  • dev: wskaźnik do urządzenia gatekeeper_device uzyskany poprzez wywołania gatekeeper_open
  • uid: identyfikator użytkownika Androida
  • current_password_handle: aktualnie zarejestrowany uchwyt hasła, który użytkownik chce zastąpić. Może mieć wartość null, jeśli nie ma aktualnie zarejestrowanego hasła.
  • current_password_handle_length: długość w bajtach bufora wskazywanego przez current_password_handle. Musi wynosić 0, jeśli bieżący_hasło_handle ma wartość NULL.
  • current_password: aktualne hasło użytkownika zapisane zwykłym tekstem. Jeśli zostanie przedstawiony, MUSI zweryfikować go pod kątem bieżącego uchwytu hasła.
  • current_password_length: rozmiar w bajtach bufora wskazywanego przez current_password. Musi wynosić 0, jeśli bieżące_hasło ma wartość NULL.
  • pożądane_hasło: nowe hasło, które użytkownik chce zarejestrować, w postaci zwykłego tekstu. Nie może być zero.
  • żądana_długość_hasła: długość w bajtach bufora wskazywanego przez żądane_hasło.
  • enrolled_password_handle: w przypadku powodzenia zostanie przydzielony bufor z nowym uchwytem hasła odnoszącym się do hasła podanego w żądanym_hasle. Bufor ten może być używany podczas kolejnych połączeń w celu rejestracji lub weryfikacji. Osoba wywołująca jest odpowiedzialna za zwolnienie tego bufora poprzez wywołanie funkcji Delete[]
  • enrolled_password_handle_length: wskaźnik do długości w bajtach bufora przydzielonego przez tę funkcję i wskazywanego przez *enrolled_password_handle_length.

Zwroty:

  • 0 w przypadku sukcesu
  • Kod błędu < 0 w przypadku awarii lub
  • Wartość limitu czasu T > 0, jeśli próba połączenia nie powinna być podejmowana ponownie przed upływem T milisekund.

W przypadku błędu uchwyt_hasła rejestrowanego nie zostanie przydzielony.

Definicja w linii 91 pliku gatekeeper.h .

int(* zweryfikować)(const struct gatekeeper_device *dev, uint32_t uid, uint64_t wyzwanie, const uint8_t *enrolled_password_handle, uint32_t enrolled_password_handle_length, const uint8_t *provided_password, uint32_t dostarczony_hasło_długość, uint8_t **auth_token, uint32_t *auth _token_length, bool *request_reenroll)

Sprawdza, czy dostarczone_hasło pasuje do uchwytu_hasła rejestrowanego.

Implementacje tego modułu mogą zachować wynik tego wywołania, aby potwierdzić aktualność uwierzytelnienia.

Jeśli się powiedzie, zapisuje adres tokena weryfikacyjnego w auth_token, którego można użyć do potwierdzenia weryfikacji hasła w innych zaufanych usługach. Klienci mogą przekazać wartość NULL dla tej wartości.

Parametry:

  • dev: wskaźnik do urządzenia gatekeeper_device uzyskany poprzez wywołania gatekeeper_open
  • uid: identyfikator użytkownika Androida
  • wyzwanie: opcjonalne wezwanie do uwierzytelnienia, lub 0. Używane, gdy oddzielny podmiot uwierzytelniający żąda weryfikacji hasła lub w przypadku uwierzytelniania hasła transakcyjnego.
  • enrolled_password_handle: aktualnie zarejestrowany uchwyt hasła, według którego użytkownik chce zweryfikować.
  • enrolled_password_handle_length: długość w bajtach bufora wskazywanego przez enrolled_password_handle
  • Podane_hasło: hasło w postaci zwykłego tekstu, które należy zweryfikować względem uchwytu zarejestrowanego_hasła
  • zapewnił_hasło_długość: długość w bajtach bufora wskazywanego przez dostarczone_hasło
  • auth_token: w przypadku powodzenia bufor zawierający token uwierzytelniający wynikający z tej weryfikacji jest przypisywany do *auth_token. Osoba wywołująca jest odpowiedzialna za zwolnienie tej pamięci poprzez wywołanie funkcji Delete[]
  • auth_token_length: w przypadku powodzenia długość w bajtach tokena uwierzytelniającego przypisanego do *auth_token zostanie przypisana do *auth_token_length
  • request_reenroll: prośba do wyższych warstw o ​​ponowną rejestrację zweryfikowanego hasła z powodu zmiany wersji. Nieustawione, jeśli weryfikacja się nie powiedzie.

Zwroty:

  • 0 w przypadku sukcesu
  • Kod błędu < 0 w przypadku awarii lub
  • Wartość limitu czasu T > 0, jeśli próba połączenia nie powinna być podejmowana ponownie przed upływem T milisekund. W przypadku błędu token autoryzacji nie zostanie przydzielony

Definicja w linii 141 pliku gatekeeper.h .


Dokumentacja tej struktury została wygenerowana z następującego pliku: