Riferimento alla struttura keymaster0_device
#include <
keymaster0.h
>
Campi dati |
|
struct hw_device_t | comuni |
uint32_t | client_version |
uint32_t | flags |
void * | context |
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(* | 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) |
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) |
int(* | delete_keypair )(const struct keymaster0_device *dev, const uint8_t *key_blob, const size_t key_blob_length) |
int(* | delete_all )(const struct keymaster0_device *dev) |
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_t signed_data_length, const uint8_t *signature, const size_t signature_length) |
Descrizione dettagliata
Definizione del dispositivo Keymaster0.
Definizione nella riga 27 del file keymaster0.h .
Documentazione dei campi
uint32_t client_version |
QUESTA FUNZIONE È OBSOLETA. Utilizza i nuovi campi "module_api_version" e "hal_api_version" nell'inizializzazione di keymaster_module.
Definizione nella riga 40 del file keymaster0.h .
struct hw_device_t common |
Metodi comuni del dispositivo Keymaster. Questo deve essere il primo membro di keymaster0_device poiché gli utenti di questa struttura eseguiranno il casting di un hw_device_t a un puntatore keymaster0_device in contesti in cui è noto che hw_device_t fa riferimento a keymaster0_device .
Definizione nella riga 34 del file keymaster0.h .
contesto void* |
Definizione nella riga 47 del file keymaster0.h .
int(* delete_all)(const struct keymaster0_device *dev) |
Consente di eliminare tutte le chiavi nel keystore hardware. Utilizzato quando il keystore viene reimpostato completamente.
Questa funzione è facoltativa e deve essere impostata su NULL se non è implementata.
Restituisce 0 in caso di esito positivo o un codice di errore minore di 0.
Definizione nella riga 102 del file keymaster0.h .
int(* delete_keypair)(const struct keymaster0_device *dev, const uint8_t *key_blob, const size_t key_blob_length) |
Consente di eliminare la coppia di chiavi associata al blob della chiave.
Questa funzione è facoltativa e deve essere impostata su NULL se non è implementata.
Restituisce 0 in caso di esito positivo o un codice di errore minore di 0.
Definizione nella riga 90 del file keymaster0.h .
uint32_t flags |
Consulta i flag definiti per keymaster0_device::flags in keymaster_common.h
Definizione nella riga 45 del file 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) |
Genera una chiave pubblica e una privata. Il key-blob restituito è opaco e deve essere successivamente fornito per la firma e la verifica.
Restituisce: 0 in caso di esito positivo o un codice di errore inferiore a 0.
Definizione nella riga 55 del file 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) |
Recupera la parte della chiave pubblica di una coppia di chiavi. La chiave pubblica deve essere un array di byte codificato in formato X.509 (standard Java).
Restituisce: 0 in caso di esito positivo o un codice di errore inferiore a 0. In caso di errore, x509_data non deve essere allocata.
Definizione nella riga 78 del file 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 una coppia di chiavi pubblica e privata. Le chiavi importate saranno in formato PKCS#8 con codifica DER (standard Java). Il key-blob restituito è opaco e verrà successivamente fornito per la firma e la verifica.
Restituisce: 0 in caso di esito positivo o un codice di errore inferiore a 0.
Definizione nella riga 67 del file 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) |
Firma i dati utilizzando un blob di chiavi generato in precedenza. È possibile utilizzare una chiave asimmetrica o una chiave segreta.
Restituisce: 0 in caso di esito positivo o un codice di errore inferiore a 0.
Definizione nella riga 110 del file keymaster0.h .
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_t signed_data_length, const uint8_t *signature, const size_t signature_length) |
Verifica i dati firmati con un key-blob. È possibile utilizzare una chiave asimmetrica o una chiave segreta.
Restituisce 0 in caso di verifica riuscita o un codice di errore inferiore a 0.
Definizione nella riga 122 del file keymaster0.h .
La documentazione di questa struttura è stata generata dal seguente file:
- hardware/libhardware/include/hardware/ keymaster0.h