مرجع هيكل gatekeeper_device

مرجع هيكل gatekeeper_device

#include < gatekeeper.h >

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

hw_device_t شائع
كثافة العمليات (* تسجيل )(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, const uint8_t *desired_password, uint32_t Desire_password_length, uint8_t **enrolled_pass Word_handle، uint32_t *enrolled_password_handle_length)
كثافة العمليات (* التحقق )(const struct gatekeeper_device *dev, uint32_t uid, uint64_t Challenge, const uint8_t *enrolled_password_handle, uint32_t المسجلين_password_handle_length, const uint8_t *provided_password, uint32_t Provide_password_length, uint8_t **auth_token, uint32_t *auth_token_length, bo رأ *request_reenroll)
كثافة العمليات (* حذف_المستخدم )(const struct gatekeeper_device *dev, uint32_t uid)
كثافة العمليات (* حذف_جميع_المستخدمين )(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, const uint8_t *desired_password, uint32_t Desire_password_length, uint8_t **en roll_password_handle، uint32_t *enrolled_password_handle_length)

يقوم بتسجيل كلمة المرور المطلوبة، والتي يجب أن تكون مشتقة من رقم التعريف الشخصي أو كلمة المرور التي حددها المستخدم، مع استخدام المفتاح الخاص لعامل المصادقة فقط لتسجيل بيانات عامل المصادقة.

إذا كانت هناك كلمة مرور مسجلة بالفعل، فيجب توفيرها في current_password_handle، بالإضافة إلى كلمة المرور الحالية في current_password التي يجب التحقق من صحتها مقابل current_password_handle.

حدود:

  • dev: تم الحصول على مؤشر إلى gatekeeper_device عبر استدعاءات gatekeeper_open
  • uid: معرف مستخدم Android
  • current_password_handle: مقبض كلمة المرور المسجل حاليًا الذي يريد المستخدم استبداله. قد يكون فارغًا إذا لم تكن هناك كلمة مرور مسجلة حاليًا.
  • current_password_handle_length: الطول بالبايتات للمخزن المؤقت المشار إليه بواسطة current_password_handle. يجب أن تكون القيمة 0 إذا كانت قيمة current_password_handle فارغة.
  • current_password: كلمة المرور الحالية للمستخدم بنص عادي. إذا تم تقديمه، فيجب التحقق منه مقابل current_password_handle.
  • current_password_length: الحجم بالبايت للمخزن المؤقت المشار إليه بواسطة كلمة المرور الحالية. يجب أن تكون 0 إذا كانت كلمة المرور الحالية فارغة.
  • Desire_password: كلمة المرور الجديدة التي يرغب المستخدم في تسجيلها بنص عادي. لا يمكن أن تكون لاغية.
  • Desire_password_length: الطول بالبايتات للمخزن المؤقت المشار إليه بواسطة كلمة المرور المرغوبة.
  • Encyclopedia_password_handle: عند النجاح، سيتم تخصيص مخزن مؤقت بمقبض كلمة المرور الجديد الذي يشير إلى كلمة المرور المقدمة في Destination_password. يمكن استخدام هذا المخزن المؤقت في المكالمات اللاحقة للتسجيل أو التحقق. يكون المتصل مسؤولاً عن إلغاء تخصيص هذا المخزن المؤقت عبر استدعاء الحذف[]
  • Enrolled_password_handle_length: مؤشر للطول بالبايت للمخزن المؤقت المخصص بواسطة هذه الوظيفة والمشار إليه بواسطة *enrolled_password_handle_length.

عائدات:

  • 0 على النجاح
  • رمز خطأ <0 عند الفشل، أو
  • قيمة المهلة T > 0 إذا لم يكن من الضروري إعادة محاولة الاتصال حتى انقضاء T ميلي ثانية.

في حالة حدوث خطأ، لن يتم تخصيص مقبض كلمة المرور المسجل.

التعريف في السطر 91 من ملف gatekeeper.h .

int(* التحقق)(const struct gatekeeper_device *dev, uint32_t uid, uint64_t Challenge, const uint8_t *enrolled_password_handle, uint32_t المسجلين_password_handle_length, const uint8_t *provided_password, uint32_t Provide_password_length, uint8_t **auth_token, uint32_t *auth_token _الطول، منطقي *request_reenroll)

يتم التحقق من تطابق كلمة المرور المقدمة مع مقبض_كلمة المرور المسجل.

قد تحتفظ تطبيقات هذه الوحدة بنتيجة هذا الاستدعاء للتأكيد على حداثة المصادقة.

عند النجاح، يكتب عنوان رمز التحقق المميز إلى auth_token، والذي يمكن استخدامه لتأكيد التحقق من كلمة المرور للخدمات الموثوقة الأخرى. يمكن للعملاء تمرير NULL لهذه القيمة.

حدود:

  • dev: تم الحصول على مؤشر إلى gatekeeper_device عبر استدعاءات gatekeeper_open
  • uid: معرف مستخدم Android
  • التحدي: تحدي اختياري للمصادقة مقابل، أو 0. يُستخدم عندما يطلب مصدق منفصل التحقق من كلمة المرور، أو لمصادقة كلمة مرور المعاملات.
  • Registered_password_handle: مقبض كلمة المرور المسجل حاليًا والذي يرغب المستخدم في التحقق منه.
  • Registered_password_handle_length: الطول بالبايتات للمخزن المؤقت المشار إليه بواسطة المسجل_password_handle
  • Provide_password: كلمة المرور ذات النص العادي المطلوب التحقق منها مقابل المسجل_password_handle
  • Provide_password_length: الطول بالبايت للمخزن المؤقت المشار إليه بواسطة Provide_password
  • auth_token: عند النجاح، يتم تعيين مخزن مؤقت يحتوي على رمز المصادقة الناتج عن هذا التحقق إلى *auth_token. المتصل هو المسؤول عن إلغاء تخصيص هذه الذاكرة عبر استدعاء للحذف[]
  • auth_token_length: عند النجاح، سيتم تعيين الطول بالبايت لرمز المصادقة المخصص لـ *auth_token إلى *auth_token_length
  • request_reenroll: طلب إلى الطبقات العليا لإعادة تسجيل كلمة المرور التي تم التحقق منها بسبب تغيير الإصدار. لم يتم التعيين في حالة فشل التحقق.

عائدات:

  • 0 على النجاح
  • رمز خطأ <0 عند الفشل، أو
  • قيمة المهلة T > 0 إذا لم يكن من الضروري إعادة محاولة الاتصال حتى انقضاء T ميلي ثانية. في حالة حدوث خطأ، لن يتم تخصيص رمز المصادقة

التعريف في السطر 141 من ملف gatekeeper.h .


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