Referência de estrutura keymaster0_device
#include < keymaster0.h >
Campos de dados | |
estrutura hw_device_t | comum |
uint32_t | versão_cliente |
uint32_t | bandeiras |
vazio * | contexto |
interno(* | 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) |
interno(* | 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) |
interno(* | 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) |
interno(* | delete_keypair )(const struct keymaster0_device *dev, const uint8_t *key_blob, const size_t key_blob_length) |
interno(* | delete_all )(const estrutura keymaster0_device *dev) |
interno(* | 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) |
interno(* | verificar_dados ) (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_t assinado_data_length, const uint8_t *assinatura, const size_t subscription_length) |
Descrição detalhada
Definição do dispositivo Keymaster0.
Definição na linha 27 do arquivo keymaster0.h .
Documentação de campo
uint32_t cliente_versão |
ISTO ESTÁ DEPRECADO. Use os novos campos "module_api_version" e "hal_api_version" na inicialização do keymaster_module.
Definição na linha 40 do arquivo keymaster0.h .
estrutura hw_device_t comum |
Métodos comuns do dispositivo keymaster. Este deve ser o primeiro membro de keymaster0_device , pois os usuários desta estrutura lançarão um ponteiro hw_device_t para keymaster0_device em contextos onde é conhecido que hw_device_t faz referência a um keymaster0_device .
Definição na linha 34 do arquivo keymaster0.h .
contexto vazio* |
Definição na linha 47 do arquivo keymaster0.h .
int(* delete_all)(const estrutura keymaster0_device *dev) |
Exclui todas as chaves do armazenamento de chaves de hardware. Usado quando o keystore é completamente redefinido.
Esta função é opcional e deve ser definida como NULL se não for implementada.
Retorna 0 em caso de sucesso ou um código de erro menor que 0.
Definição na linha 102 do arquivo keymaster0.h .
int(* delete_keypair)(const struct keymaster0_device *dev, const uint8_t *key_blob, const size_t key_blob_length) |
Exclui o par de chaves associado ao blob de chaves.
Esta função é opcional e deve ser definida como NULL se não for implementada.
Retorna 0 em caso de sucesso ou um código de erro menor que 0.
Definição na linha 90 do arquivo keymaster0.h .
sinalizadores uint32_t |
Veja sinalizadores definidos para keymaster0_device::flags em keymaster_common.h
Definição na linha 45 do arquivo keymaster0.h .
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) |
Gera uma chave pública e privada. O key-blob retornado é opaco e deve ser fornecido posteriormente para assinatura e verificação.
Retorna: 0 em caso de sucesso ou um código de erro menor que 0.
Definição na linha 55 do arquivo keymaster0.h .
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) |
Obtém a parte da chave pública de um par de chaves. A chave pública deve estar no formato X.509 (padrão Java) codificado em array de bytes.
Retorna: 0 em caso de sucesso ou um código de erro menor que 0. Em caso de erro, x509_data não deve ser alocado.
Definição na linha 78 do arquivo keymaster0.h .
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) |
Importa um par de chaves pública e privada. As chaves importadas estarão no formato PKCS#8 com codificação DER (padrão Java). O key-blob retornado é opaco e será posteriormente fornecido para assinatura e verificação.
Retorna: 0 em caso de sucesso ou um código de erro menor que 0.
Definição na linha 67 do arquivo keymaster0.h .
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) |
Assina dados usando um blob de chave gerado anteriormente. Isso pode usar uma chave assimétrica ou uma chave secreta.
Retorna: 0 em caso de sucesso ou um código de erro menor que 0.
Definição na linha 110 do arquivo keymaster0.h .
int(* verificar_dados)(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_t assinado_data_length, const uint8_t *assinatura, const size_t assinatura_length) |
Verifica os dados assinados com um blob de chave. Isso pode usar uma chave assimétrica ou uma chave secreta.
Retorna: 0 na verificação bem-sucedida ou um código de erro menor que 0.
Definição na linha 122 do arquivo keymaster0.h .
A documentação desta estrutura foi gerada a partir do seguinte arquivo:
- hardware/libhardware/include/hardware/ keymaster0.h