গেটকিপার_ডিভাইস স্ট্রাকট রেফারেন্স

গেটকিপার_ডিভাইস স্ট্রাকট রেফারেন্স

#include < gatekeeper.h >

ডেটা ক্ষেত্র

hw_device_t সাধারণ
int(* নথিভুক্ত করুন )(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_uint_length, const_8_t2_tw পাসওয়ার্ড_লেংথ, uint8_t **এনরোলড_পাসওয়ার্ড_হ্যান্ডেল, uint32_t *এনরোলড_পাসওয়ার্ড_হ্যান্ডেল_লেংথ)
int(* যাচাই করুন )(const struct gatekeeper_device *dev, uint32_t uid, uint64_t চ্যালেঞ্জ, const uint8_t *enrolled_password_handle, uint32_t enrolled_password_handle_length, const uint8_t *প্রদান করা_পাসওয়ার্ড, uint_th2_password প্রদান করা হয়েছে , uint32_t *auth_token_length, bool *request_reenroll)
int(* delete_user )(const struct gatekeeper_device *dev, uint32_t uid)
int(* ডিলিট_অল_ব্যবহারকারী )(const struct gatekeeper_device *dev)

বিস্তারিত বিবরণ

ফাইল gatekeeper.h এর 41 লাইনে সংজ্ঞা।

ফিল্ড ডকুমেন্টেশন

hw_device_t সাধারণ

দারোয়ান ডিভাইসের সাধারণ পদ্ধতি। উপরের হিসাবে, এটি অবশ্যই keymaster_device-এর প্রথম সদস্য হতে হবে।

ফাইল gatekeeper.h এর 46 লাইনে সংজ্ঞা।

int(* delete_all_users)(const struct gatekeeper_device *dev)

ফাইল gatekeeper.h এর 173 লাইনে সংজ্ঞা।

int(* delete_user)(const struct gatekeeper_device *dev, uint32_t uid)

ফাইল gatekeeper.h এর 159 লাইনে সংজ্ঞা।

int(* নথিভুক্ত করুন)(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, int_password, int_password * কাঙ্খিত_পাসওয়ার্ড_লেংথ, uint8_t **এনরোলড_পাসওয়ার্ড_হ্যান্ডেল, uint32_t *এনরোলড_পাসওয়ার্ড_হ্যান্ডেল_লেংথ)

ইচ্ছাকৃত_পাসওয়ার্ড নথিভুক্ত করে, যা ব্যবহারকারীর নির্বাচিত পিন বা পাসওয়ার্ড থেকে প্রাপ্ত হওয়া উচিত, শুধুমাত্র প্রমাণীকরণ ফ্যাক্টর ডেটা নথিভুক্ত করার জন্য ব্যবহৃত প্রমাণীকরণ ফ্যাক্টর ব্যক্তিগত কী সহ।

যদি আগে থেকেই একটি পাসওয়ার্ড নথিভুক্ত করা থাকে, তাহলে এটি current_password_handle-এ প্রদান করা উচিত, বর্তমান_পাসওয়ার্ডের বর্তমান পাসওয়ার্ডের সাথে যা current_password_handle-এর বিরুদ্ধে বৈধ হওয়া উচিত।

পরামিতি:

  • dev: gatekeeper_device- এর পয়েন্টার যা গেটকিপার_ওপেনকে কল করার মাধ্যমে অর্জিত হয়েছে
  • uid: অ্যান্ড্রয়েড ব্যবহারকারী শনাক্তকারী
  • current_password_handle: বর্তমানে নথিভুক্ত পাসওয়ার্ড হ্যান্ডেল ব্যবহারকারী প্রতিস্থাপন করতে চায়। বর্তমানে কোনো নথিভুক্ত পাসওয়ার্ড না থাকলে শূন্য হতে পারে।
  • current_password_handle_length: বর্তমান_পাসওয়ার্ড_হ্যান্ডেল দ্বারা নির্দেশিত বাফারের বাইটের দৈর্ঘ্য। বর্তমান_পাসওয়ার্ড_হ্যান্ডেল শূন্য হলে অবশ্যই 0 হতে হবে।
  • বর্তমান_পাসওয়ার্ড: প্লেইন টেক্সটে ব্যবহারকারীর বর্তমান পাসওয়ার্ড। উপস্থাপিত হলে, এটি বর্তমান_পাসওয়ার্ড_হ্যান্ডেলের বিরুদ্ধে যাচাই করা আবশ্যক।
  • current_password_length: বর্তমান_পাসওয়ার্ড দ্বারা নির্দেশিত বাফারের বাইটের আকার। বর্তমান_পাসওয়ার্ডটি NULL হলে অবশ্যই 0 হতে হবে।
  • desired_password: নতুন পাসওয়ার্ড যা ব্যবহারকারী প্লেইন-টেক্সটে নথিভুক্ত করতে চায়। NULL হতে পারে না।
  • desired_password_length: ইচ্ছাকৃত_পাসওয়ার্ড দ্বারা নির্দেশিত বাফারের বাইটের দৈর্ঘ্য।
  • enrolled_password_handle: সফল হলে, একটি বাফার বরাদ্দ করা হবে নতুন পাসওয়ার্ড হ্যান্ডেলের সাথে ইচ্ছাকৃত_পাসওয়ার্ডে দেওয়া পাসওয়ার্ড উল্লেখ করে। এই বাফারটি নথিভুক্ত বা যাচাই করার জন্য পরবর্তী কলগুলিতে ব্যবহার করা যেতে পারে। মুছে ফেলার জন্য একটি কলের মাধ্যমে এই বাফারটি ডিললোকেট করার জন্য কলার দায়ী[]
  • enrolled_password_handle_length: এই ফাংশন দ্বারা বরাদ্দ করা বাফারের বাইটে দৈর্ঘ্যের নির্দেশক এবং *enrolled_password_handle_length দ্বারা নির্দেশিত।

রিটার্ন:

  • সাফল্যে 0
  • ব্যর্থতার উপর একটি ত্রুটি কোড < 0, বা
  • একটি টাইমআউট মান T > 0 যদি T মিলিসেকেন্ড অতিবাহিত না হওয়া পর্যন্ত কলটি পুনরায় চেষ্টা করা উচিত নয়।

ত্রুটি হলে, enrolled_password_handle বরাদ্দ করা হবে না।

ফাইল gatekeeper.h এর 91 লাইনে সংজ্ঞা।

int(* যাচাই করুন)(const struct gatekeeper_device *dev, uint32_t uid, uint64_t চ্যালেঞ্জ, const uint8_t * enrolled_password_handle, uint32_t enrolled_password_handle_length, const uint8_t *provided_password, uint_tang_pword, 32_tng _টোকেন, uint32_t *auth_token_length, bool *request_reenroll)

enrolled_password_handle দিয়ে দেওয়া_পাসওয়ার্ডের মিল যাচাই করে।

এই মডিউলের প্রয়োগগুলি প্রমাণীকরণের নতুনত্বের প্রমাণ করার জন্য এই কলের ফলাফল ধরে রাখতে পারে।

সফল হলে, auth_token-এ একটি যাচাইকরণ টোকেনের ঠিকানা লিখে, যা অন্যান্য বিশ্বস্ত পরিষেবাগুলিতে পাসওয়ার্ড যাচাইকরণের জন্য ব্যবহারযোগ্য। ক্লায়েন্ট এই মানের জন্য NULL পাস করতে পারে।

পরামিতি:

  • dev: gatekeeper_device- এর পয়েন্টার যা গেটকিপার_ওপেনকে কল করার মাধ্যমে অর্জিত হয়েছে
  • uid: অ্যান্ড্রয়েড ব্যবহারকারী শনাক্তকারী
  • চ্যালেঞ্জ: একটি ঐচ্ছিক চ্যালেঞ্জের বিরুদ্ধে প্রমাণীকরণের জন্য, বা 0। যখন একটি পৃথক প্রমাণীকরণকারী পাসওয়ার্ড যাচাইকরণের অনুরোধ করে, বা লেনদেন সংক্রান্ত পাসওয়ার্ড প্রমাণীকরণের জন্য ব্যবহৃত হয়।
  • enrolled_password_handle: বর্তমানে নথিভুক্ত পাসওয়ার্ড হ্যান্ডেল যা ব্যবহারকারী যাচাই করতে চায়।
  • enrolled_password_handle_length: enrolled_password_handle দ্বারা নির্দেশিত বাফারের বাইটের দৈর্ঘ্য
  • প্রদান করা_পাসওয়ার্ড: নথিভুক্ত_পাসওয়ার্ড_হ্যান্ডেলের বিরুদ্ধে সরল পাঠ্য পাসওয়ার্ড যাচাই করা হবে
  • provide_password_length: বাফারের বাইটের দৈর্ঘ্য দেওয়া_পাসওয়ার্ড দ্বারা নির্দেশিত
  • auth_token: সফল হলে, এই যাচাইকরণের ফলে প্রমাণীকরণ টোকেন ধারণকারী একটি বাফার *auth_token-এ বরাদ্দ করা হয়। মুছে ফেলার জন্য কলের মাধ্যমে এই মেমরি ডিলকেট করার জন্য কলার দায়ী[]
  • auth_token_length: সফল হলে, *auth_token-এ বরাদ্দকৃত প্রমাণীকরণ টোকেনের বাইটের দৈর্ঘ্য *auth_token_length-এ বরাদ্দ করা হবে
  • request_reenroll: সংস্করণ পরিবর্তনের কারণে যাচাইকৃত পাসওয়ার্ড পুনরায় নথিভুক্ত করার জন্য উপরের স্তরের কাছে একটি অনুরোধ। যাচাইকরণ ব্যর্থ হলে সেট করা নেই।

রিটার্ন:

  • সাফল্যে 0
  • ব্যর্থতার উপর একটি ত্রুটি কোড < 0, বা
  • একটি টাইমআউট মান T > 0 যদি T মিলিসেকেন্ড অতিবাহিত না হওয়া পর্যন্ত কলটি পুনরায় চেষ্টা করা উচিত নয়। ত্রুটি হলে, প্রমাণীকরণ টোকেন বরাদ্দ করা হবে না

ফাইল gatekeeper.h এর 141 লাইনে সংজ্ঞা।


এই কাঠামোর জন্য ডকুমেন্টেশন নিম্নলিখিত ফাইল থেকে তৈরি করা হয়েছিল: