keymaster_device 結構參考
keymaster_device 結構參考
#include < keymaster.h >
資料欄位 | |
結構體hw_device_t | 常見的 |
uint32_t | 客戶端版本 |
uint32_t | 旗幟 |
空白 * | 情境 |
整數(* | 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) |
整數(* | 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) |
整數(* | 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) |
整數(* | 刪除_密鑰對)(const struct keymaster_device *dev, const uint8_t *key_blob, const size_t key_blob_length) |
整數(* | delete_all )(const struct keymaster_device *dev) |
整數(* | 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, usign_le_length, usign_le_length, usign_length, usigns_length, usign_leng) |
整數(* | 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_tsigned_data_leize,constnth,concature_t_tsign” |
詳細說明
可以為給定的 keymaster 實作設定的參數。
定義位於檔案keymaster.h的第174行。
現場文檔
uint32_t 用戶端版本 |
這已被棄用。請在 keymaster_module 初始化中使用新的“module_api_version”和“hal_api_version”欄位。
檔案keymaster.h第187行的定義。
結構體hw_device_t公共 |
Keymaster設備的常用方法。這必須是keymaster_device的第一個成員,因為該結構的使用者將在已知hw_device_t引用keymaster_device 的上下文中將 hw_device_t 強制轉換為keymaster_device指標。
檔案keymaster.h第181行的定義。
無效*上下文 |
檔案keymaster.h第194行的定義。
int(* delete_all)(const struct keymaster_device *dev) |
int(* delete_keypair)(const struct keymaster_device *dev, const uint8_t *key_blob, const size_t key_blob_length) |
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) |
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,sign_8_lengths data_lengthsizes_s_lengths_sign_lengths data_lengths data_lengthsizes_sizes_sizes_s_s7_s7_s; |
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_blobsign_data_length, contizes_lengths_size_tizes_pizes_s7_s7_s7_s4s))s_s; |
該結構的文檔是從以下文件產生的: