Gatekeeper_device Yapı Referansı
#include < gatekeeper.h >
Veri alanları | |
hw_device_t | yaygın |
int(* | kaydol )(const struct Gatekeeper_device *dev, uint32_t uid, const uint8_t *geçerli_şifre_tanıtıcısı, uint32_t geçerli_şifre_tanıtıcı_uzunluğu, const uint8_t *geçerli_şifre, uint32_t geçerli_şifre_uzunluğu, const uint8_t *istenen_şifre, uint32_t istenen_şifre_uzunluğu, uin t8_t **enrolled_password_handle, uint32_t *enrolled_password_handle_length) |
int(* | doğrula )(const struct Gatekeeper_device *dev, uint32_t uid, uint64_t mücadelesi, const uint8_t *enrolled_password_handle, uint32_t kayıtlı_password_handle_length, const uint8_t *provided_password, uint32_t Provid_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 structgatekeeper_device *dev) |
Detaylı Açıklama
Gatekeeper.h dosyasının 41. satırındaki tanım.
Saha Dokümantasyonu
hw_device_t ortak |
Gatekeeper cihazının yaygın yöntemleri. Yukarıdaki gibi, bu keymaster_device'ın ilk üyesi olmalıdır.
Gatekeeper.h dosyasının 46. satırındaki tanım.
int(* delete_all_users)(const structgatekeeper_device *dev) |
Gatekeeper.h dosyasının 173. satırındaki tanım.
int(* delete_user)(const structgatekeeper_device *dev, uint32_t uid) |
Gatekeeper.h dosyasının 159. satırındaki tanım.
int(* kayıt)(const struct geçit bekçisi_aygıtı *dev, uint32_t uid, const uint8_t *geçerli_şifre_tanıtıcısı, uint32_t geçerli_şifre_tanıtıcı_uzunluğu, const uint8_t *geçerli_şifre, uint32_t geçerli_şifre_uzunluğu, const uint8_t *istenen_şifre, uint32_t istenen_şifre_uzunluğu , uint8_t **enrolled_password_handle, uint32_t *enrolled_password_handle_length) |
Kullanıcı tarafından seçilen bir pin veya paroladan türetilmesi gereken istenen_parolayı, yalnızca kimlik doğrulama faktörü verilerini kaydetmek için kullanılan kimlik doğrulama faktörü özel anahtarıyla kaydeder.
Zaten kayıtlı bir şifre varsa, bu şifrenin geçerli_şifre_tanıtıcısında sağlanması ve geçerli_şifre_tanıtıcısına göre doğrulanması gereken geçerli_şifrede mevcut şifreyle birlikte sağlanması gerekir.
Parametreler:
- dev: Gatekeeper_open'a yapılan çağrılar yoluyla elde edilen, Gatekeeper_device işaretçisi
- uid: Android kullanıcı tanımlayıcısı
- current_password_handle: kullanıcının değiştirmek istediği mevcut kayıtlı şifre tanıtıcısı. Şu anda kayıtlı bir şifre yoksa boş olabilir.
- geçerli_şifre_tanıtıcısı_uzunluğu: geçerli_şifre_tanıtıcısı tarafından işaret edilen arabelleğin bayt cinsinden uzunluğu. Geçerli_şifre_tanıtıcısı NULL ise 0 olmalıdır.
- current_password: kullanıcının düz metin olarak geçerli şifresi. Sunulursa, current_password_handle ile doğrulanması ZORUNLUDUR.
- geçerli_şifre_uzunluğu: geçerli_şifre ile gösterilen arabelleğin bayt cinsinden boyutu. Geçerli_şifre NULL ise 0 olmalıdır.
- istenen_şifre: kullanıcının düz metin olarak kaydetmek istediği yeni şifre. Boş olamaz.
- istenen_şifre_uzunluğu: istenen_şifre ile gösterilen arabelleğin bayt cinsinden uzunluğu.
- kayıtlı_şifre_tanıtıcısı: başarı durumunda, istenen_şifrede sağlanan şifreye referans veren yeni şifre tanıtıcısıyla bir arabellek tahsis edilecektir. Bu arabellek, kaydolmak veya doğrulamak için sonraki aramalarda kullanılabilir. Arayan, silme çağrısı yoluyla bu arabelleğin yerinin değiştirilmesinden sorumludur[]
- kayıtlı_şifre_tanıtıcı_uzunluğu: bu işlev tarafından tahsis edilen ve *kayıtlı_şifre_tanıtıcı_uzunluğu ile gösterilen arabelleğin bayt cinsinden uzunluğunu gösteren işaretçi.
İadeler:
- Başarı konusunda 0
- Arıza durumunda < 0 hata kodu veya
- T milisaniye geçene kadar çağrının yeniden denenmemesi gerekiyorsa zaman aşımı değeri T > 0.
Hata durumunda, kayıtlı_password_handle tahsis edilmeyecektir.
Gatekeeper.h dosyasının 91. satırındaki tanım.
int(* doğrulama)(const structgatekeeper_device *dev, uint32_t uid, uint64_t mücadelesi, const uint8_t *enrolled_password_handle, uint32_t kayıtlı_password_handle_length, const uint8_t *provided_password, uint32_t Provid_password_length, uint8_t **auth_token, uint3 2_t *auth_token_length, bool *request_reenroll) |
Provid_password'un kayıtlı_password_handle ile eşleştiğini doğrular.
Bu modülün uygulamaları, kimlik doğrulamanın güncelliğini doğrulamak için bu çağrının sonucunu saklayabilir.
Başarı durumunda, diğer güvenilir hizmetlere yönelik parola doğrulamasını doğrulamak için kullanılabilecek bir doğrulama belirtecinin adresini auth_token'a yazar. İstemciler bu değer için NULL değerini geçebilir.
Parametreler:
- dev: Gatekeeper_open'a yapılan çağrılar yoluyla elde edilen, Gatekeeper_device işaretçisi
- uid: Android kullanıcı tanımlayıcısı
- meydan okuma: Kimlik doğrulaması için isteğe bağlı bir meydan okuma veya 0. Ayrı bir kimlik doğrulayıcı şifre doğrulaması istediğinde veya işlemsel şifre kimlik doğrulaması için kullanılır.
- kayıtlı_şifre_tanıtıcısı: kullanıcının doğrulama yapmak istediği mevcut kayıtlı şifre tanıtıcısı.
- kayıtlı_şifre_tanıtıcı_uzunluğu: kayıtlı_şifre_tanıtıcısı tarafından işaret edilen arabelleğin bayt cinsinden uzunluğu
- sağlanan_şifre: kayıtlı_şifre_tanıtıcısına göre doğrulanacak düz metin şifre
- sağlanan_şifre_uzunluğu: sağlanan_şifre ile gösterilen arabelleğin bayt cinsinden uzunluğu
- auth_token: başarı durumunda, bu doğrulamanın sonucunda ortaya çıkan kimlik doğrulama jetonunu içeren bir arabellek *auth_token'a atanır. Arayan, bir silme çağrısı[] yoluyla bu hafızanın yerinin değiştirilmesinden sorumludur.
- auth_token_length: başarı durumunda, *auth_token'a atanan kimlik doğrulama jetonunun bayt cinsinden uzunluğu *auth_token_length'e atanacaktır
- request_reenroll: sürüm değişikliği nedeniyle doğrulanmış şifrenin yeniden kaydedilmesi için üst katmanlara yapılan bir istek. Doğrulama başarısız olursa ayarlanmaz.
İadeler:
- Başarı konusunda 0
- Arıza durumunda < 0 hata kodu veya
- T milisaniye geçene kadar çağrının yeniden denenmemesi gerekiyorsa zaman aşımı değeri T > 0. Hata durumunda kimlik doğrulama jetonu tahsis edilmeyecektir
Gatekeeper.h dosyasının 141. satırındaki tanım.
Bu yapıya ilişkin belgeler aşağıdaki dosyadan oluşturulmuştur:
- hardware/libhardware/include/hardware/ gatekeeper.h