keymaster_device Справочник по структуре
#include < keymaster.h >
Поля данных | |
структура hw_device_t | общий |
uint32_t | client_version |
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) |
интервал(* | delete_keypair )(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, uint8_t **signed_data, size_t *signed_data_length) |
интервал(* | 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 подпись_длина) |
Подробное описание
Параметры, которые можно установить для данной реализации мастера ключей.
Определение в строке 174 файла keymaster.h .
Полевая документация
uint32_t client_version |
ЭТО УСТАРЕЛО. Вместо этого используйте новые поля «module_api_version» и «hal_api_version» в инициализации keymaster_module.
Определение в строке 187 файла keymaster.h .
структура hw_device_t общая |
Общие методы устройства keymaster. Это должен быть первый член keymaster_device, поскольку пользователи этой структуры будут приводить hw_device_t к указателю keymaster_device в контекстах, где известно, что hw_device_t ссылается на keymaster_device .
Определение в строке 181 файла keymaster.h .
пустота* контекст |
Определение в строке 194 файла keymaster.h .
int(* delete_all)(const struct keymaster_device *dev) |
Удаляет все ключи в аппаратном хранилище ключей. Используется при полном сбросе хранилища ключей.
Эта функция является необязательной и должна иметь значение NULL, если она не реализована.
Возвращает 0 в случае успеха или код ошибки меньше 0.
Определение в строке 249 файла keymaster.h .
int(* delete_keypair)(const struct keymaster_device *dev, const uint8_t *key_blob, const size_t key_blob_length) |
Удаляет пару ключей, связанную с большим количеством ключей.
Эта функция является необязательной и должна иметь значение NULL, если она не реализована.
Возвращает 0 в случае успеха или код ошибки меньше 0.
Определение в строке 237 файла keymaster.h .
uint32_t флаги |
См. флаги, определенные для keymaster_device::flags выше.
Определение в строке 192 файла keymaster.h .
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.
Определение в строке 202 файла keymaster.h .
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 не следует выделять.
Определение в строке 225 файла keymaster.h .
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) |
Импортирует пару открытого и закрытого ключей. Импортированные ключи будут в формате PKCS#8 с кодировкой DER (стандарт Java). Возвращенный блок ключа непрозрачен и впоследствии будет предоставлен для подписания и проверки.
Возвращает: 0 в случае успеха или код ошибки меньше 0.
Определение в строке 214 файла keymaster.h .
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.
Определение в строке 257 файла keymaster.h .
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 подпись_длина) |
Проверяет данные, подписанные с помощью ключа. При этом может использоваться либо асимметричный ключ, либо секретный ключ.
Возвращает: 0 при успешной проверке или код ошибки меньше 0.
Определение в строке 269 файла keymaster.h .
Документация для этой структуры была создана из следующего файла:
- Аппаратное обеспечение/libhardware/include/hardware/ keymaster.h