gatekeeper_device Struct Reference

gatekeeper_device Struct Reference

#include < gatekeeper.h >

שדות נתונים

hw_device_t מְשׁוּתָף
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_sword, uint32_t current_password_length, uint32_t current_password_handle_t, const uint8_t *current_password, uint32_t current_password_length, uint32_t current_password_password, uint32_t current_password_handle_t. 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, *provided_password, uint32_t given_uint32_t **_intauthen_ uth_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)

תיאור מפורט

הגדרה בשורה 41 של קובץ gatekeeper.h .

תיעוד שטח

hw_device_t נפוץ

שיטות נפוצות של מכשיר שומר הסף. כמו לעיל, זה חייב להיות החבר הראשון של keymaster_device.

הגדרה בשורה 46 של קובץ gatekeeper.h .

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

הגדרה בשורה 173 של קובץ gatekeeper.h .

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

הגדרה בשורה 159 של קובץ 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 *current_password, uint32_t current_password_length, *current_password_password, uint32_t current_password_handle_length, const uint8_t *current_password, uint32_t current_password_length_const uintirt_password, const uintirt_password, const uintirt_password int8_t **enrolled_password_handle, uint32_t *enrolled_password_handle_length)

רושם wish_password, שאמור להיות נגזר מסיכה או סיסמה שנבחרו על ידי המשתמש, כאשר המפתח הפרטי של גורם האימות משמש רק לרישום נתוני גורם אימות.

אם כבר הייתה סיסמה רשומה, יש לספק אותה ב-current_password_handle, יחד עם הסיסמה הנוכחית ב-current_password שאמורה לאמת מול current_password_handle.

פרמטרים:

  • dev: מצביע ל- gatekeeper_device שנרכש באמצעות קריאות ל-gatekeeper_open
  • uid: מזהה משתמש אנדרואיד
  • current_password_handle: ידית הסיסמה הרשומה כעת שהמשתמש רוצה להחליף. עשוי להיות ריק אם אין סיסמה רשומה כעת.
  • current_password_handle_length: האורך בבייטים של המאגר שעליו מצביע current_password_handle. חייב להיות 0 אם current_password_handle הוא NULL.
  • current_password: הסיסמה הנוכחית של המשתמש בטקסט רגיל. אם מוצג, זה חייב לאמת מול current_password_handle.
  • current_password_length: הגודל בבייטים של המאגר שעליו מצביע ה-current_password. חייב להיות 0 אם הסיסמה הנוכחית היא NULL.
  • wish_password: הסיסמה החדשה שהמשתמש רוצה לרשום בטקסט רגיל. לא יכול להיות NULL.
  • wish_password_length: האורך בבייטים של המאגר שעליו הצביעו wish_password.
  • enrolled_password_handle: עם הצלחה, יוקצה מאגר עם ידית הסיסמה החדשה המתייחסת לסיסמה שסופקה ב-wanted_password. ניתן להשתמש במאגר הזה בשיחות עוקבות כדי להירשם או לאמת. המתקשר אחראי להקצאת מאגר זה באמצעות קריאה למחיקה[]
  • enrolled_password_handle_length: מצביע על האורך בבייטים של המאגר שהוקצה על ידי פונקציה זו ומצביע על ידי *enrolled_password_handle_length.

החזרות:

  • 0 על הצלחה
  • קוד שגיאה < 0 בכשל, או
  • ערך פסק זמן T > 0 אם אין לנסות שוב את השיחה עד שחלפו T אלפיות שניות.

במקרה של שגיאה, enrolled_password_handle לא יוקצה.

הגדרה בשורה 91 של קובץ gatekeeper.h .

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_length, uint32_length, uint32_length, uint32_length. t *auth_token_length, bool *request_reenroll)

מאמת את ההתאמה ל-enrolled_password_handle.

יישום של מודול זה עשוי לשמור על התוצאה של קריאה זו כדי להעיד על עדכניות האימות.

עם הצלחה, כותב את הכתובת של אסימון אימות ל-auth_token, המשמש לאימות סיסמה לשירותים מהימנים אחרים. לקוחות עשויים לעבור NULL עבור ערך זה.

פרמטרים:

  • dev: מצביע ל- gatekeeper_device שנרכש באמצעות קריאות ל-gatekeeper_open
  • uid: מזהה משתמש אנדרואיד
  • challenge: אתגר אופציונלי לאימות מולו, או 0. משמש כאשר מאמת נפרד מבקש אימות סיסמה, או עבור אימות סיסמה עסקה.
  • enrolled_password_handle: ידית הסיסמה הרשומה כעת שהמשתמש רוצה לאמת מולה.
  • enrolled_password_handle_length: האורך בבייטים של המאגר שאליו מצביע enrolled_password_handle
  • provided_password: סיסמת הטקסט הפשוט שיש לאמת מול ה-enrolled_password_handle
  • provided_password_length: האורך בבייטים של המאגר שאליו מצביע ה- provided_password
  • auth_token: עם הצלחה, מאגר המכיל את אסימון האימות הנובע מאימות זה מוקצה ל-*auth_token. המתקשר אחראי להקצאת זיכרון זה באמצעות קריאה למחיקה[]
  • auth_token_length: עם הצלחה, האורך בבייטים של אסימון האימות שהוקצה ל-*auth_token יוקצה ל-*auth_token_length
  • request_reenroll: בקשה לשכבות העליונות לרשום מחדש את הסיסמה המאומתת עקב שינוי גרסה. לא מוגדר אם האימות נכשל.

החזרות:

  • 0 על הצלחה
  • קוד שגיאה < 0 בכשל, או
  • ערך פסק זמן T > 0 אם אין לנסות שוב את השיחה עד שחלפו T אלפיות שניות. במקרה של שגיאה, אסימון אישור לא יוקצה

הגדרה בשורה 141 של קובץ gatekeeper.h .


התיעוד עבור מבנה זה נוצר מהקובץ הבא: