مرجع بنية keymaster0_device
#include <
keymaster0.h
>
حقول البيانات |
|
struct hw_device_t | شائعة |
uint32_t | client_version |
uint32_t | flags |
void * | context |
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) |
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_data_length) |
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 size_t signature_length) |
وصف مفصّل
تعريف جهاز Keymaster0
التعريف في السطر 27 من الملف keymaster0.h .
مستندات الحقل
uint32_t client_version |
تم إيقاف هذا الإجراء نهائيًا. استخدِم الحقلين الجديدَين "module_api_version" و "hal_api_version" في عملية إعداد keymaster_module بدلاً من ذلك.
التعريف في السطر 40 من الملف keymaster0.h .
struct hw_device_t common |
الطرق الشائعة لجهاز Keymaster يجب أن يكون هذا العنصر هو العنصر الأول في keymaster0_device لأنّ مستخدمي هذه البنية سيحوّلون hw_device_t إلى مؤشر keymaster0_device في السياقات التي يُعرف فيها أنّ hw_device_t يشير إلى keymaster0_device .
التعريف في السطر 34 من الملف keymaster0.h .
void* context |
التعريف في السطر 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_data, size_t *signed_data_length) |
يوقّع البيانات باستخدام ملف مفتاح تم إنشاؤه من قبل. ويمكن أن يستخدم هذا المفتاح إما مفتاحًا غير متماثل أو مفتاحًا سريًا.
يتم عرض القيمة 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 uint8_t *signature, const size_t signature_length) |
التحقّق من البيانات الموقَّعة باستخدام مجموعة مفاتيح ويمكن أن يستخدم هذا المفتاح إما مفتاحًا غير متماثل أو مفتاحًا سريًا.
يتم عرض القيمة 0 في حال إثبات الهوية بنجاح أو رمز خطأ أقل من 0.
التعريف في السطر 122 من الملف keymaster0.h .
تم إنشاء مستندات هذه البنية من الملف التالي:
- hardware/libhardware/include/hardware/ keymaster0.h