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:
- hardware/libhardware/include/hardware/ keymaster0.h