مرجع هيكل keymaster_device

مرجع هيكل keymaster_device

#include < keymaster.h >

حقول البيانات

البنية hw_device_t شائع
uint32_t client_version
uint32_t أعلام
فارغ * سياق
كثافة العمليات (* generator_keypair )(const struct keymaster_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 keymaster_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 keymaster_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 keymaster_device *dev, const uint8_t *key_blob, const size_t key_blob_length)
كثافة العمليات (* delete_all )(const struct keymaster_device *dev)
كثافة العمليات (* Sign_data )(const struct keymaster_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 keymaster_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 التوقيع_طول)

وصف تفصيلي

المعلمات التي يمكن تعيينها لتطبيق مفتاح رئيسي معين.

التعريف في السطر 174 من الملف keymaster.h .

التوثيق الميداني

uint32_t client_version

تم إهمال هذا. استخدم الحقول الجديدة "module_api_version" و"hal_api_version" في تهيئة keymaster_module بدلاً من ذلك.

التعريف في السطر 187 من الملف keymaster.h .

بناء hw_device_t مشترك

الطرق الشائعة لجهاز keymaster. يجب أن يكون هذا هو العضو الأول في keymaster_device حيث سيقوم مستخدمو هذه البنية بإرسال hw_device_t إلى مؤشر keymaster_device في السياقات التي يُعرف فيها أن hw_device_t يشير إلى keymaster_device .

التعريف في السطر 181 من الملف keymaster.h .

سياق باطل*

التعريف في السطر 194 من الملف keymaster.h .

int(*delet_all)(const struct keymaster_device *dev)

يحذف جميع المفاتيح الموجودة في مخزن مفاتيح الأجهزة. يُستخدم عند إعادة ضبط ملف تخزين المفاتيح بالكامل.

هذه الوظيفة اختيارية ويجب ضبطها على NULL إذا لم يتم تنفيذها.

إرجاع 0 عند النجاح أو رمز خطأ أقل من 0.

التعريف في السطر 249 من الملف keymaster.h .

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

يحذف زوج المفاتيح المرتبط بنقطة المفتاح.

هذه الوظيفة اختيارية ويجب ضبطها على NULL إذا لم يتم تنفيذها.

إرجاع 0 عند النجاح أو رمز خطأ أقل من 0.

التعريف في السطر 237 من الملف keymaster.h .

علامات uint32_t

راجع العلامات المحددة لـ keymaster_device::flags أعلاه.

التعريف في السطر 192 من الملف keymaster.h .

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

يولد مفتاحًا عامًا وخاصًا. إن النقطة الرئيسية التي تم إرجاعها غير شفافة ويجب تقديمها لاحقًا للتوقيع والتحقق.

العوائد: 0 عند النجاح أو رمز خطأ أقل من 0.

التعريف في السطر 202 من الملف keymaster.h .

int(* get_keypair_public)(const struct keymaster_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.

التعريف في السطر 225 من الملف keymaster.h .

int(* import_keypair)(const struct keymaster_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.

التعريف في السطر 214 من الملف keymaster.h .

int(*sign_data)(const struct keymaster_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.

التعريف في السطر 257 من الملف keymaster.h .

int(* Vere_data)(const struct keymaster_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.

التعريف في السطر 269 من الملف keymaster.h .


تم إنشاء وثائق هذه البنية من الملف التالي:
  • الأجهزة/libhardware/تشمل/الأجهزة/ keymaster.h