keymaster0_device संरचना संदर्भ

keymaster0_device संरचना संदर्भ

#include < keymaster0.h >

डेटा फ़ील्ड

संरचना hw_device_t सामान्य
uint32_t client_version
uint32_t झंडे
खालीपन * प्रसंग
पूर्णांक(* 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)
पूर्णांक(* आयात_कीजोड़ी )(स्थिरांक संरचना keymaster0_device *dev, स्थिरांक uint8_t *कुंजी, स्थिरांक आकार_t key_length, uint8_t **key_blob, आकार_t *key_blob_length)
पूर्णांक(* 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)
पूर्णांक(* delete_keypair )(const struct keymaster0_device *dev, const uint8_t *key_blob, const size_t key_blob_length)
पूर्णांक(* delete_all )(const struct keymaster0_device *dev)
पूर्णांक(* साइन_डेटा )(स्थिरांक संरचना keymaster0_device *dev, स्थिरांक शून्य *signing_params, स्थिरांक uint8_t *key_blob, स्थिरांक आकार_t key_blob_length, स्थिरांक uint8_t *डेटा, स्थिरांक आकार_t डेटा_लंबाई, uint8_t **signed_data, आकार_t *signed_data_length)
पूर्णांक(* सत्यापित_डेटा )(स्थिरांक संरचना keymaster0_device *dev, स्थिरांक शून्य *signing_params, स्थिरांक uint8_t *key_blob, स्थिरांक आकार_t key_blob_length, स्थिरांक uint8_t *signed_data, स्थिरांक आकार_t हस्ताक्षरित_डेटा_लंबाई, स्थिरांक uint8_t *हस्ताक्षर, स्थिरांक आकार_t हस्ताक्षर_लंबाई)

विस्तृत विवरण

Keymaster0 डिवाइस परिभाषा.

फ़ाइल keymaster0.h की पंक्ति 27 पर परिभाषा।

फ़ील्ड दस्तावेज़ीकरण

uint32_t client_version

यह निन्दित है. इसके बजाय keymaster_module आरंभीकरण में नए "module_api_version" और "hal_api_version" फ़ील्ड का उपयोग करें।

फ़ाइल keymaster0.h की पंक्ति 40 पर परिभाषा।

struct hw_device_t सामान्य

कीमास्टर डिवाइस की सामान्य विधियाँ। यह keymaster0_device का पहला सदस्य होना चाहिए क्योंकि इस संरचना के उपयोगकर्ता उन संदर्भों में keymaster0_device पॉइंटर पर hw_device_t डालेंगे जहां यह ज्ञात है कि 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 झंडे

keymaster0_device::flags के लिए keymaster_common.h में परिभाषित झंडे देखें

फ़ाइल 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(* आयात_कीजोड़ी)(const struct keymaster0_device *dev, const uint8_t *key, const size_t key_length, uint8_t **key_blob, size_t *key_blob_length)

सार्वजनिक और निजी कुंजी जोड़ी आयात करता है। आयातित कुंजियाँ डीईआर एन्कोडिंग (जावा मानक) के साथ PKCS#8 प्रारूप में होंगी। लौटाया गया की-ब्लॉब अपारदर्शी है और बाद में हस्ताक्षर और सत्यापन के लिए प्रदान किया जाएगा।

रिटर्न: सफलता पर 0 या त्रुटि कोड 0 से कम।

फ़ाइल keymaster0.h की पंक्ति 67 पर परिभाषा।

int(* साइन_डेटा)(const struct keymaster0_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_data, size_t *signed_data_length)

पहले उत्पन्न की-ब्लॉब का उपयोग करके डेटा पर हस्ताक्षर करता है। इसमें या तो असममित कुंजी या गुप्त कुंजी का उपयोग किया जा सकता है।

रिटर्न: सफलता पर 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_tsigned_data_length, const uint8_t *signature, const size_t हस्ताक्षर_length)

की-ब्लॉब से हस्ताक्षरित डेटा को सत्यापित करता है। इसमें या तो असममित कुंजी या गुप्त कुंजी का उपयोग किया जा सकता है।

रिटर्न: सफल सत्यापन पर 0 या त्रुटि कोड 0 से कम।

फ़ाइल keymaster0.h की पंक्ति 122 पर परिभाषा।


इस संरचना के लिए दस्तावेज़ीकरण निम्नलिखित फ़ाइल से तैयार किया गया था:
  • हार्डवेयर/लिबहार्डवेयर/शामिल/हार्डवेयर/ keymaster0.h