keymaster_device स्ट्रक्चर का रेफ़रंस

keymaster_device स्ट्रक्चर का रेफ़रंस

#include < keymaster.h >

डेटा फ़ील्ड

struct hw_device_t   सामान्य
 
uint32_t  client_version
 
uint32_t  फ़्लैग
 
void *  context
 
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 *data, const size_t data_length, uint8_t **signed_data, size_t *signed_data_length)
 
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 uint8_t *signature, const size_t signature_length)
 

पूरी जानकारी

ऐसे पैरामीटर जिन्हें किसी की-मास्टर लागू करने के लिए सेट किया जा सकता है.

परिभाषा, keymaster.h फ़ाइल की लाइन 174 पर दी गई है.

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

uint32_t client_version

यह सुविधा अब काम नहीं करती. इसके बजाय, keymaster_module के शुरू होने के दौरान, नए "module_api_version" और "hal_api_version" फ़ील्ड का इस्तेमाल करें.

परिभाषा, keymaster.h फ़ाइल की लाइन 187 पर दी गई है.

struct hw_device_t common

कीमास्टर डिवाइस के सामान्य तरीके. यह keymaster_device के पहले सदस्य के तौर पर keymaster_device के पॉइंटर पर, hw_device_t को कास्ट करेगा. ऐसा तब किया जाएगा, जब यह पता हो कि hw_device_t keymaster_device के बारे में बताता है .

परिभाषा, keymaster.h फ़ाइल की लाइन 181 पर दी गई है .

void* context

परिभाषा, 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::flags के लिए तय किए गए फ़्लैग देखें.

परिभाषा, 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 फ़ॉर्मैट (Java स्टैंडर्ड) में एन्कोड की गई बाइट कलेक्शन में होनी चाहिए.

यह फ़ंक्शन: सही होने पर 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 एन्कोडिंग (Java स्टैंडर्ड) के साथ 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 *data, const size_t data_length, uint8_t **signed_data, size_t *signed_data_length)

पहले से जनरेट किए गए पासकोड का इस्तेमाल करके डेटा पर हस्ताक्षर करता है. इसमें असिमेट्रिक कुंजी या सीक्रेट कुंजी का इस्तेमाल किया जा सकता है.

यह फ़ंक्शन: सही होने पर 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 uint8_t *signature, const size_t signature_length)

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

यह वैल्यू दिखाता है: पुष्टि होने पर 0 या 0 से कम गड़बड़ी कोड.

परिभाषा, keymaster.h फ़ाइल की पंक्ति 269 पर दी गई है.


इस स्ट्रक्चर का दस्तावेज़, इस फ़ाइल से जनरेट किया गया था: