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:
- hardware/libhardware/include/hardware/ gatekeeper.h