keymaster0_device Struct Reference

keymaster0_device Struct Reference

#include < keymaster0.h >

שדות נתונים

struct hw_device_t מְשׁוּתָף
uint32_t client_version
uint32_t דגלים
בטל* הֶקשֵׁר
int(* gener_keypair )(const struct keymaster0_device *dev, const keymaster_keypair_t key_type, const void *key_params, uint8_t **key_blob, size_t *key_blob_length)
int(* import_keypair )(const struct keymaster0_device *dev, const uint8_t *key, const size_t key_length, uint8_t **key_blob, size_t *key_blob_length)
int(* get_keypair_public )(const struct keymaster0_device *dev, const uint8_t *key_blob, const size_t key_blob_length, uint8_t **x509_data, size_t *x509_data_length)
int(* delete_keypair )(const struct keymaster0_device *dev, const uint8_t *key_blob, const size_t key_blob_length)
int(* delete_all )(const struct keymaster0_device *dev)
int(* sign_data )(const struct keymaster0_device *dev, const void *signing_params, const uint8_t *key_blob, const size_t key_blob_length, const uint8_t *data, const size_t data_length, uint8_t **signed_data, size_t *signed)_
int(* verify_data )(const struct keymaster0_device *dev, const void *signing_params, const uint8_t *key_blob, const size_t key_blob_length, const uint8_t *signed_data, const size_t signed_data_length, const uint8_t *_signature const uint8_t *_signature)

תיאור מפורט

הגדרת מכשיר Keymaster0.

הגדרה בשורה 27 של הקובץ keymaster0.h .

תיעוד שטח

uint32_t client_version

זה מבוטל. השתמש בשדות החדשים "module_api_version" ו-"hal_api_version" באתחול keymaster_module במקום זאת.

הגדרה בשורה 40 של הקובץ keymaster0.h .

struct hw_device_t נפוץ

שיטות נפוצות של התקן keymaster. זה חייב להיות החבר הראשון של keymaster0_device מכיוון שמשתמשים במבנה זה ישליכו מצביע hw_device_t אל keymaster0_device בהקשרים שבהם ידוע שה- hw_device_t מפנה ל- keymaster0_device .

הגדרה בשורה 34 של הקובץ keymaster0.h .

ריק* הקשר

הגדרה בשורה 47 של הקובץ keymaster0.h .

int(* delete_all)(const struct keymaster0_device *dev)

מוחק את כל המפתחות במאגר המפתחות של החומרה. משמש כאשר מאגר המקשים מאופס לחלוטין.

פונקציה זו היא אופציונלית ויש להגדיר אותה ל-NULL אם היא לא מיושמת.

מחזירה 0 על הצלחה או קוד שגיאה קטן מ-0.

הגדרה בשורה 102 של הקובץ keymaster0.h .

int(* delete_keypair)(const struct keymaster0_device *dev, const uint8_t *key_blob, const size_t key_blob_length)

מוחק את צמד המפתחות המשויך לבלוק המפתחות.

פונקציה זו היא אופציונלית ויש להגדיר אותה ל-NULL אם היא לא מיושמת.

מחזירה 0 על הצלחה או קוד שגיאה קטן מ-0.

הגדרה בשורה 90 של הקובץ keymaster0.h .

דגלים של uint32_t

ראה דגלים שהוגדרו עבור keymaster0_device::flags ב- keymaster_common.h

הגדרה בשורה 45 של הקובץ keymaster0.h .

int(* generate_keypair)(const struct keymaster0_device *dev, const keymaster_keypair_t key_type, const void *key_params, uint8_t **key_blob, size_t *key_blob_length)

יוצר מפתח ציבורי ופרטי. כתם המפתחות המוחזר הוא אטום ויש לספק לאחר מכן לחתימה ואימות.

מחזירה: 0 על הצלחה או קוד שגיאה קטן מ-0.

הגדרה בשורה 55 של הקובץ keymaster0.h .

int(* get_keypair_public)(const struct keymaster0_device *dev, const uint8_t *key_blob, const size_t key_blob_length, uint8_t **x509_data, size_t *x509_data_length)

מקבל את חלק המפתח הציבורי של זוג מפתחות. המפתח הציבורי חייב להיות בפורמט X.509 (בתקן Java) מערך בתים מקודד.

מחזירה: 0 על הצלחה או קוד שגיאה קטן מ-0. בשגיאה, אין להקצות x509_data.

הגדרה בשורה 78 של הקובץ keymaster0.h .

int(* import_keypair)(const struct keymaster0_device *dev, const uint8_t *key, const size_t key_length, uint8_t **key_blob, size_t *key_blob_length)

מייבא זוג מפתחות ציבורי ופרטי. המפתחות המיובאים יהיו בפורמט PKCS#8 עם קידוד DER (תקן Java). כתם המפתח שהוחזר הוא אטום ויסופק לאחר מכן לחתימה ואימות.

מחזירה: 0 על הצלחה או קוד שגיאה קטן מ-0.

הגדרה בשורה 67 של הקובץ keymaster0.h .

int(* sign_data)(const struct keymaster0_device *dev, const void *signing_params, const uint8_t *key_blob, const size_t key_blob_length, const uint8_t *data, const size_t data_length, uint8_t **signed_signed_data, size_t *th

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

מחזירה: 0 על הצלחה או קוד שגיאה קטן מ-0.

הגדרה בשורה 110 של הקובץ keymaster0.h .

int(* verify_data)(const struct keymaster0_device *dev, const void *signing_params, const uint8_t *key_blob, const size_t key_blob_length, const uint8_t *signed_data, const size_t signed_data_length, const uintature_length_signature, const uintature8_t_size_sign)

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

מחזירה: 0 באימות מוצלח או קוד שגיאה קטן מ-0.

הגדרה בשורה 122 של הקובץ keymaster0.h .


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