keymaster0_device – referencja na strukturę

keymaster0_device – referencja na strukturę

#include < keymaster0.h >

Pola danych

struct hw_device_t   wspólne
 
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)
 

Szczegółowy opis

Definicja urządzenia Keymaster0.

Definicja w wierszu 27 pliku keymaster0.h .

Dokumentacja pola

uint32_t client_version

Ta funkcja jest wycofywana. Zamiast tego w inicjalizacji keymaster_module użyj nowych pól „module_api_version” i „hal_api_version”.

Definicja w wierszu 40 pliku keymaster0.h .

struct hw_device_t common

Typowe metody korzystania z urządzenia Keymaster Ten element musi być pierwszym elementem w  keymaster0_device ponieważ użytkownicy tej struktury będą rzutować hw_device_t do keymaster0_device wskaźnika w kontekstach, w których wiadomo, że hw_device_t odwołuje się do keymaster0_device .

Definicja w wierszu 34 pliku keymaster0.h .

kontekst anulowania*

Definicja w wierszu 47 pliku keymaster0.h .

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

Usuwa wszystkie klucze z magazynu kluczy sprzętowych. Używany, gdy repozytorium kluczy jest całkowicie resetowane.

Ta funkcja jest opcjonalna i w przypadku braku implementacji powinna być ustawiona na NULL.

Zwraca 0 w przypadku powodzenia lub kod błędu mniejszy niż 0.

Definicja w wierszu 102 pliku keymaster0.h .

int(* delete_keypair)(const struct keymaster0_device *dev, const uint8_t *key_blob, const size_t key_blob_length)

Usuwa parę kluczy powiązaną z kluczem blob.

Ta funkcja jest opcjonalna i w przypadku braku implementacji powinna być ustawiona na NULL.

Zwraca 0 w przypadku powodzenia lub kod błędu mniejszy niż 0.

Definicja w wierszu 90 pliku keymaster0.h .

Flagi uint32_t

Zobacz flagi zdefiniowane w  keymaster0_device::flags w pliku keymaster_common.h

Definicja w wierszu 45 pliku 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)

Generuje klucz publiczny i prywatny. Zwrócony klucz-blob jest zaciemniony i musi zostać przekazany do podpisania i weryfikacji.

Zwraca: 0 w przypadku powodzenia lub kod błędu mniejszy niż 0.

Definicja w wierszu 55 pliku 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)

Pobiera część publiczną pary kluczy. Klucz publiczny musi być tablicą bajtów zakodowaną w formacie X.509 (standard Java).

Zwraca: 0 w przypadku powodzenia lub kod błędu mniejszy niż 0. W przypadku błędu nie należy przydzielać x509_data.

Definicja w wierszu 78 pliku 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)

Importuje parę kluczy (publicznego i prywatnego). Zaimportowane klucze będą w formacie PKCS#8 z kodowaniem DER (standard Java). Zwrócony klucz-blob jest zaciemniony i będzie później udostępniany do podpisywania i weryfikacji.

Zwraca: 0 w przypadku powodzenia lub kod błędu mniejszy niż 0.

Definicja w wierszu 67 pliku 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)

Podpisuje dane za pomocą wcześniej wygenerowanego klucza. Możesz użyć klucza asymetrycznego lub klucza tajnego.

Zwraca: 0 w przypadku powodzenia lub kod błędu mniejszy niż 0.

Definicja w wierszu 110 w pliku 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)

Weryfikuje dane podpisane za pomocą klucza blob. Możesz użyć klucza asymetrycznego lub klucza tajnego.

Zwraca: 0 w przypadku pomyślnej weryfikacji lub kod błędu mniejszy niż 0.

Definicja w wierszu 122 pliku keymaster0.h .


Dokumentacja tego typu danych została wygenerowana z tego pliku: