Referência de estrutura keymaster0_device

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: