gatekeeper_device Yapı Referansı

gatekeeper_device Yapı Referansı

#include < gatekeeper.h >

Veri Alanları

hw_device_t   yaygın
 
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)
 

Ayrıntılı Açıklama

Tanımı, gatekeeper.h dosyasının 41. satırı

Alan Belgeleri

Kapı görevlisi cihazının yaygın yöntemleri. Yukarıda belirtildiği gibi, bu keymaster_device öğesinin ilk üyesi olmalıdır.

Tanımı, gatekeeper.h dosyasının 46. satırı

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

Tanımı, gatekeeper.h dosyasının 173 satırı

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

Tanımı, gatekeeper.h dosyasının 159 satırı

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)

Kullanıcı tarafından seçilen bir PIN'den veya şifreden türetilmesi gereken desired_password parametresini, 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 current_password_handle parametresinde sağlanmalıdır. Bu parametre, current_password parametresindeki mevcut şifreyle birlikte sağlanmalıdır. Bu şifre, current_password_handle ile doğrulanmalıdır.

Parametreler:

  • dev: gatekeeper_open çağrıları aracılığıyla edinilen, 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, şu anda kayıtlı şifre herkese açık kullanıcı adı. Şu anda kayıtlı bir şifre yoksa null olabilir.
  • current_password_handle_length: current_password_handle tarafından işaretlenen arabelleğin bayt cinsinden uzunluğu. current_password_handle NULL ise 0 olmalıdır.
  • current_password: Kullanıcının mevcut şifresi düz metin olarak. Gönderilirse current_password_handle ile doğrulanmalıdır.
  • current_password_length: current_password tarafından işaretlenen arabelleğin bayt cinsinden boyutu. current_password NULL ise 0 olmalıdır.
  • desired_password: Kullanıcının kaydetmek istediği yeni şifre (düz metin olarak). NULL olamaz.
  • desired_password_length: desired_password tarafından işaretlenen arabelleğin bayt cinsinden uzunluğu.
  • enrolled_password_handle: İşlem başarılı olursa desired_password parametresinde sağlanan şifreye atıfta bulunan yeni şifre işleyicisi içeren bir arabellek ayrılır. Bu arabellek, sonraki kayıt veya doğrulama çağrılarında kullanılabilir. Arayan, delete[] çağrısı aracılığıyla bu arabelleğin ayrılmasından sorumludur.
  • enrolled_password_handle_length: Bu işlev tarafından ayrılan ve *enrolled_password_handle_length tarafından işaretlenen arabelleğin bayt cinsinden uzunluğuna işaretçi.

İadeler:

  • Başarılı olduğunda 0
  • Başarısızlık durumunda 0'dan küçük bir hata kodu veya
  • Çağrı, T milisaniye geçene kadar yeniden denenmemeliyse T > 0 olan bir zaman aşımı değeri.

Hata oluştuğunda enrolled_password_handle atanmaz.

Tanım, gatekeeper.h dosyasının 91. satırı içindedir.

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)

provided_password parametresinin enrolled_password_handle ile eşleşip eşleşmediğini doğrular.

Bu modülün uygulamaları, kimlik doğrulamanın yakın zamanda yapıldığını doğrulamak için bu çağrının sonucunu saklayabilir.

Başarılı olduğunda, doğrulama jetonunun adresini auth_token alanına yazar. Bu adres, diğer güvenilir hizmetlere şifre doğrulamasını onaylamak için kullanılabilir. İstemciler bu değer için NULL gönderebilir.

Parametreler:

  • dev: gatekeeper_open çağrıları aracılığıyla edinilen, gatekeeper_device işaretçisi
  • uid: Android kullanıcı tanımlayıcısı
  • challenge: Kimlik doğrulama için isteğe bağlı bir istek veya 0. Ayrı bir kimlik doğrulayıcı şifre doğrulaması istediğinde veya işleme özgü şifre kimlik doğrulaması için kullanılır.
  • enrolled_password_handle: Kullanıcının doğrulamak istediği, şu anda kayıtlı olan şifre herkese açık kullanıcı adı.
  • enrolled_password_handle_length: enrolled_password_handle tarafından işaretlenen arabelleğin bayt cinsinden uzunluğu
  • provided_password: enrolled_password_handle ile doğrulanacak düz metin şifre
  • provided_password_length: provided_password tarafından işaretlenen arabelleğin bayt cinsinden uzunluğu
  • auth_token: Başarılı olduğunda, bu doğrulamadan elde edilen kimlik doğrulama jetonunu içeren bir arabellek *auth_token parametresine atanır. Arayan, delete[] çağrısı yoluyla bu belleğin ayrılmasından sorumludur.
  • auth_token_length: İşlem başarılı olursa *auth_token parametresine atanan kimlik doğrulama jetonunun bayt cinsinden uzunluğu *auth_token_length parametresine atanır.
  • request_reenroll: Üst katmanlardan, doğrulanmış şifreyi sürüm değişikliği nedeniyle yeniden kaydettirme isteği. Doğrulama başarısız olursa ayarlanmamıştır.

İadeler:

  • Başarılı olduğunda 0
  • Başarısızlık durumunda 0'dan küçük bir hata kodu veya
  • Çağrı, T milisaniye geçene kadar yeniden denenmemeliyse T > 0 olan bir zaman aşımı değeri. Hata oluştuğunda yetkilendirme jetonu ayrılmaz.

gatekeeper.h dosyasının 141. satırı için tanımı


Bu yapının dokümanları aşağıdaki dosyadan oluşturulmuştur: