Riferimento alla struttura keymaster0_device

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: