Riferimento alla struttura keymaster0_device

Riferimento alla struttura keymaster0_device

#include < keymaster0.h >

Campi dati

struttura hw_device_t comune
uint32_t versione_client
uint32_t bandiere
vuoto * contesto
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 alla riga 27 del file keymaster0.h .

Documentazione sul campo

uint32_t versione_client

QUESTO E' DEPRECATO. Utilizza invece i nuovi campi "module_api_version" e "hal_api_version" nell'inizializzazione di keymaster_module.

Definizione alla riga 40 del file keymaster0.h .

struttura hw_device_t comune

Metodi comuni del dispositivo keymaster. Questo deve essere il primo membro di keymaster0_device poiché gli utenti di questa struttura trasmetteranno un puntatore hw_device_t a keymaster0_device in contesti in cui è noto che hw_device_t fa riferimento a keymaster0_device .

Definizione alla riga 34 del file keymaster0.h .

contesto vuoto*

Definizione alla riga 47 del file keymaster0.h .

int(* delete_all)(const struct keymaster0_device *dev)

Elimina tutte le chiavi nell'archivio chiavi hardware. Utilizzato quando il keystore viene ripristinato completamente.

Questa funzione è facoltativa e deve essere impostata su NULL se non è implementata.

Restituisce 0 in caso di successo o un codice di errore inferiore a 0.

Definizione alla 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)

Elimina la coppia di chiavi associata al BLOB di chiavi.

Questa funzione è facoltativa e deve essere impostata su NULL se non è implementata.

Restituisce 0 in caso di successo o un codice di errore inferiore a 0.

Definizione alla riga 90 del file keymaster0.h .

uint32_t flag

Vedere i flag definiti per keymaster0_device::flags in keymaster_common.h

Definizione alla 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 privata. Il key-blob restituito è opaco e dovrà essere successivamente fornito per la firma e la verifica.

Restituisce: 0 in caso di successo o un codice di errore inferiore a 0.

Definizione alla 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)

Ottiene la parte della chiave pubblica di una coppia di chiavi. La chiave pubblica deve essere in un array di byte codificato in formato X.509 (standard Java).

Restituisce: 0 in caso di successo o un codice di errore inferiore a 0. In caso di errore, x509_data non deve essere allocato.

Definizione alla 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 successo o un codice di errore inferiore a 0.

Definizione alla 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 keyblob generato in precedenza. Può utilizzare una chiave asimmetrica o una chiave segreta.

Restituisce: 0 in caso di successo o un codice di errore inferiore a 0.

Definizione alla 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 keyblob. Può utilizzare una chiave asimmetrica o una chiave segreta.

Restituisce: 0 in caso di verifica riuscita o un codice di errore inferiore a 0.

Definizione alla riga 122 del file keymaster0.h .


La documentazione per questa struttura è stata generata dal seguente file: