keymaster0_device 結構參考
keymaster0_device 結構參考
#include < keymaster0.h >
資料欄位 | |
結構體hw_device_t | 常見的 |
uint32_t | 客戶端版本 |
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) |
整數(* | 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) |
整數(* | 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) |
整數(* | 刪除_密鑰對)(const struct keymaster0_device *dev, const uint8_t *key_blob, const size_t key_blob_length) |
整數(* | delete_all )(const struct keymaster0_device *dev) |
整數(* | 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, data_lengths **sign_tize_lengths data_length, signal_lengths_signs_lengths); |
整數(* | 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_blob_length,const uint8_t *signed_data,const size_tsigned_data_leizetsign,const_length,const,size_tsigned |
詳細說明
Keymaster0 裝置定義。
定義位於檔案keymaster0.h第27行。
現場文檔
uint32_t 用戶端版本 |
這已被棄用。請在 keymaster_module 初始化中使用新的“module_api_version”和“hal_api_version”欄位。
定義位於檔案keymaster0.h第40行。
結構體hw_device_t公共 |
Keymaster設備的常用方法。這必須是keymaster0_device的第一個成員,因為該結構的使用者將在已知hw_device_t引用keymaster0_device 的上下文中將 hw_device_t 強制轉換為keymaster0_device指標。
定義位於檔案keymaster0.h第34行。
無效*上下文 |
定義位於檔案keymaster0.h第47行。
int(* delete_all)(const struct keymaster0_device *dev) |
int(* delete_keypair)(const struct keymaster0_device *dev, const uint8_t *key_blob, const size_t key_blob_length) |
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) |
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) |
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_lengths const; |
該結構的文檔是從以下文件產生的: