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

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

#include < keymaster0.h >

ডেটা ক্ষেত্র

struct hw_device_t সাধারণ
uint32_t ক্লায়েন্ট_সংস্করণ
uint32_t পতাকা
অকার্যকর * প্রসঙ্গ
int(* generate_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)
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)
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)
int(* delete_keypair )(const struct keymaster0_device *dev, const uint8_t *key_blob, const size_t key_blob_length)
int(* delete_all )(const struct keymaster0_device *dev)
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 *ডেটা, const size_t data_length, uint8_t ** স্বাক্ষরিত_ডেটা, সাইজ_ডাটা)
int(* verify_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 const_sign_t_size, const signature_8)

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

Keymaster0 ডিভাইসের সংজ্ঞা।

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

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

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

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

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

struct hw_device_t common

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

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

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

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

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

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

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

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

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

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

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

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

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

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

uint32_t পতাকা

keymaster_common.h-keymaster0_device::flags এর জন্য সংজ্ঞায়িত পতাকা দেখুন

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

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

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

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

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

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

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)

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

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

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

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 *ডেটা, const size_t data_length, uint8_t ** স্বাক্ষরিত_tang_tang_data)

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

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

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

int(* verify_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_int সাইজ , const_ints

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

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

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


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