keymaster0_device مرجع الهيكل
#include < keymaster0.h >
حقول البيانات | |
البنية hw_device_t | شائع |
uint32_t | client_version |
uint32_t | أعلام |
فارغ * | سياق |
كثافة العمليات (* | generator_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) |
كثافة العمليات (* | 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) |
كثافة العمليات (* | 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) |
كثافة العمليات (* | حذف_keypair )(const struct keymaster0_device *dev, const uint8_t *key_blob, const size_t key_blob_length) |
كثافة العمليات (* | delete_all )(const struct keymaster0_device *dev) |
كثافة العمليات (* | 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) |
كثافة العمليات (* | Vere_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 التوقيع_طول) |
وصف تفصيلي
تعريف جهاز Keymaster0
التعريف في السطر 27 من الملف keymaster0.h .
التوثيق الميداني
uint32_t client_version |
تم إهمال هذا. استخدم الحقول الجديدة "module_api_version" و"hal_api_version" في تهيئة keymaster_module بدلاً من ذلك.
التعريف في السطر 40 من الملف keymaster0.h .
بناء hw_device_t مشترك |
الطرق الشائعة لجهاز keymaster. يجب أن يكون هذا هو العضو الأول في keymaster0_device حيث سيقوم مستخدمو هذه البنية بإرسال hw_device_t إلى مؤشر keymaster0_device في السياقات التي يُعرف فيها أن hw_device_t يشير إلى keymaster0_device .
التعريف في السطر 34 من الملف keymaster0.h .
سياق باطل* |
التعريف في السطر 47 من الملف keymaster0.h .
int(*delet_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(* generator_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) |
يوقع البيانات باستخدام مفتاح blob الذي تم إنشاؤه من قبل. يمكن أن يستخدم هذا إما مفتاحًا غير متماثل أو مفتاحًا سريًا.
العوائد: 0 عند النجاح أو رمز خطأ أقل من 0.
التعريف في السطر 110 من الملف keymaster0.h .
int(* Vere_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 التوقيع_طول) |
التحقق من البيانات الموقعة باستخدام مفتاح blob. يمكن أن يستخدم هذا إما مفتاحًا غير متماثل أو مفتاحًا سريًا.
العوائد: 0 عند التحقق الناجح أو رمز خطأ أقل من 0.
التعريف في السطر 122 من الملف keymaster0.h .
تم إنشاء وثائق هذه البنية من الملف التالي:
- الأجهزة/libhardware/تشمل/الأجهزة/ keymaster0.h