مرجع ساختار keymaster_device

مرجع ساختار keymaster_device

#include < keymaster.h >

فیلدهای داده

ساخت hw_device_t مشترک
uint32_t client_version
uint32_t پرچم ها
خالی * متن نوشته
int(* gene_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 *data, const size_t data_length, uint8_t **signed_signed, size_dat)
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 uintsignth, const uintth, signature8_t)

توصیف همراه با جزئیات

پارامترهایی که می توان برای اجرای keymaster معین تنظیم کرد.

تعریف در خط 174 فایل keymaster.h .

مستندات میدانی

uint32_t client_version

این منسوخ شده است. به جای آن از فیلدهای جدید "module_api_version" و "hal_api_version" در مقداردهی اولیه keymaster_module استفاده کنید.

تعریف در خط 187 فایل keymaster.h .

struct hw_device_t مشترک

روش های رایج دستگاه کی مستر این باید اولین عضو keymaster_device باشد زیرا کاربران این ساختار در زمینه‌هایی که مشخص است hw_device_t به keymaster_device ارجاع می‌دهد، نشانگر hw_device_t را به keymaster_device ارسال می‌کنند.

تعریف در خط 181 فایل keymaster.h .

متن خالی*

تعریف در خط 194 فایل keymaster.h .

int(* delete_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::پرچم های بالا را ببینید.

تعریف در خط 192 فایل keymaster.h .

int(*gene_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 (استاندارد جاوا) آرایه بایت کدگذاری شده باشد.

برمی گرداند: 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 (استاندارد جاوا) خواهند بود. کلید بازگردانده شده مات است و متعاقباً برای امضا و تأیید ارائه خواهد شد.

برمی گرداند: 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_da_tag, uint8_t **signed_da_tang)

داده ها را با استفاده از حفره کلیدی که قبلاً ایجاد شده بود امضا می کند. این می تواند از یک کلید نامتقارن یا یک کلید مخفی استفاده کند.

برمی گرداند: 0 در صورت موفقیت یا کد خطای کمتر از 0.

تعریف در خط 257 فایل keymaster.h .

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 size_t signed_data_length, const size_t signed_data_length, const uint size_t *const uint8_t

داده‌های امضا شده با کلید حباب را تأیید می‌کند. این می تواند از یک کلید نامتقارن یا یک کلید مخفی استفاده کند.

برمی گرداند: 0 در تأیید موفقیت آمیز یا کد خطای کمتر از 0.

تعریف در خط 269 فایل keymaster.h .


مستندات این ساختار از فایل زیر تولید شده است: