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, uint8_t **signed_data, size_t *signed_data_length) |
整数(* | 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) |
详细说明
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_length, const uint8_t *signature, const size_t 签名_length) |
该结构的文档是从以下文件生成的: