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 .
התיעוד עבור מבנה זה נוצר מהקובץ הבא:
- hardware/libhardware/include/hardware/ gatekeeper.h