keymaster_device স্ট্রাকট রেফারেন্স

keymaster_device স্ট্রাকট রেফারেন্স

#include < keymaster.h >

ডেটা ক্ষেত্র

struct hw_device_t সাধারণ
uint32_t ক্লায়েন্ট_সংস্করণ
uint32_t পতাকা
অকার্যকর * প্রসঙ্গ
int(* generate_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)
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)
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)
int(* delete_keypair )(const struct keymaster_device *dev, const uint8_t *key_blob, const size_t key_blob_length)
int(* delete_all )(const struct keymaster_device *dev)
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 *ডেটা, const size_t data_length, uint8_t ** স্বাক্ষরিত_ডেটা, সাইজ_ডাটা)
int(* verify_data )(const struct keymaster_device *dev, const void *signing_params, const uint8_t *key_blob, const size_t key_blob_length, const uint8_t *স্বাক্ষরিত_ডেটা, const size_t স্বাক্ষরিত_ডেটা_দৈর্ঘ্য, const * স্বাক্ষর_চিহ্ন_8, const সাইজ_টি স্বাক্ষর

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

প্রদত্ত কীমাস্টার বাস্তবায়নের জন্য যে পরামিতিগুলি সেট করা যেতে পারে৷

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

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

uint32_t ক্লায়েন্ট_সংস্করণ

এটি অবরুদ্ধ করা হয়েছে। পরিবর্তে keymaster_module আরম্ভে নতুন "module_api_version" এবং "hal_api_version" ক্ষেত্রগুলি ব্যবহার করুন৷

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

struct hw_device_t common

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

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

অকার্যকর* প্রসঙ্গ

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

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

হার্ডওয়্যার কীস্টোরের সমস্ত কী মুছে দেয়। কীস্টোর সম্পূর্ণরূপে রিসেট হলে ব্যবহৃত হয়।

এই ফাংশনটি ঐচ্ছিক এবং এটি বাস্তবায়িত না হলে NULL এ সেট করা উচিত।

সাফল্যের উপর 0 বা 0-এর কম ত্রুটি কোড প্রদান করে।

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

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

কী ব্লবের সাথে যুক্ত কী জোড়া মুছে দেয়।

এই ফাংশনটি ঐচ্ছিক এবং এটি বাস্তবায়িত না হলে NULL এ সেট করা উচিত।

সাফল্যের উপর 0 বা 0-এর কম ত্রুটি কোড প্রদান করে।

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

uint32_t পতাকা

উপরের keymaster_device::পতাকাগুলির জন্য সংজ্ঞায়িত পতাকা দেখুন।

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

int(* generate_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-এর কম ত্রুটি কোড।

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

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 ফরম্যাটে (জাভা স্ট্যান্ডার্ড) এনকোডেড বাইট অ্যারে হতে হবে।

রিটার্ন: সফল হলে 0 বা 0-এর কম ত্রুটি কোড। ত্রুটি হলে, x509_data বরাদ্দ করা উচিত নয়।

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

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)

একটি সর্বজনীন এবং ব্যক্তিগত কী জোড়া আমদানি করে। আমদানি করা কীগুলি DER এনকোডিং (জাভা স্ট্যান্ডার্ড) সহ PKCS#8 ফর্ম্যাটে হবে৷ ফিরে আসা কী-ব্লবটি অস্বচ্ছ এবং পরবর্তীতে স্বাক্ষর ও যাচাইয়ের জন্য সরবরাহ করা হবে।

রিটার্ন: সফলতার উপর 0 বা 0-এর কম ত্রুটি কোড।

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

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 *ডেটা, const size_t data_length, uint8_t ** সাইনড_ডাটা, * সাইনড_ডাটা)

আগে তৈরি করা কী-ব্লব ব্যবহার করে ডেটা সাইন করে। এটি একটি অপ্রতিসম কী বা একটি গোপন কী ব্যবহার করতে পারে।

রিটার্ন: সফলতার উপর 0 বা 0-এর কম ত্রুটি কোড।

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

int(* verify_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_int_size, const_int_8 সাইজ)

একটি কী-ব্লব দিয়ে স্বাক্ষরিত ডেটা যাচাই করে। এটি একটি অপ্রতিসম কী বা একটি গোপন কী ব্যবহার করতে পারে।

রিটার্ন: সফল যাচাইকরণে 0 বা 0-এর কম ত্রুটি কোড।

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


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