keymaster0_device स्ट्रक्चर का रेफ़रंस
#include <
keymaster0.h
>
डेटा फ़ील्ड |
|
struct hw_device_t | सामान्य |
uint32_t | client_version |
uint32_t | फ़्लैग |
void * | context |
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 *data, const size_t data_length, uint8_t **signed_data, size_t *signed_data_length) |
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 uint8_t *signature, const size_t signature_length) |
पूरी जानकारी
Keymaster0 डिवाइस की परिभाषा.
परिभाषा, keymaster0.h की फ़ाइल के 27 पंक्ति पर दी गई है.
फ़ील्ड का दस्तावेज़
uint32_t client_version |
यह सुविधा अब काम नहीं करती. इसके बजाय, 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 पर दी गई है.
void* context |
परिभाषा, 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 फ़ॉर्मैट (Java स्टैंडर्ड) में एन्कोड की गई बाइट कलेक्शन में होनी चाहिए.
यह फ़ंक्शन: सही होने पर 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 एन्कोडिंग (Java स्टैंडर्ड) के साथ 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 *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_t signed_data_length, const uint8_t *signature, const size_t signature_length) |
कुंजी-ब्लॉब से हस्ताक्षर किए गए डेटा की पुष्टि करता है. इसमें असिमेट्रिक कुंजी या सीक्रेट कुंजी का इस्तेमाल किया जा सकता है.
यह वैल्यू दिखाता है: पुष्टि होने पर 0 या 0 से कम गड़बड़ी कोड.
परिभाषा, keymaster0.h फ़ाइल की पंक्ति 122 पर दी गई है.
इस स्ट्रक्चर का दस्तावेज़, इस फ़ाइल से जनरेट किया गया था:
- hardware/libhardware/include/hardware/ keymaster0.h