keymaster_device Odniesienie do struktury

keymaster_device Odniesienie do struktury

#include < keymaster.h >

Pola danych

struktura hw_device_t wspólny
uint32_t wersja_klienta
uint32_t flagi
próżnia * kontekst
int(* generuj_keypair )(const struct keymaster_device *dev, const keymaster_keypair_t typ_klucza, const void *key_params, uint8_t **key_blob, size_t *key_blob_length)
int(* import_keypair )(const struct keymaster_device *dev, const uint8_t *key, const size_t długość_klucza, uint8_t **key_blob, size_t *key_blob_length)
int(* get_keypair_public )(const struktura keymaster_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 struktura keymaster_device *dev, const uint8_t *key_blob, const size_t key_blob_length)
int(* usuń_all )(stała struktura keymaster_device *dev)
int(* Sign_data )(const struct keymaster_device *dev, const void *signing_params, const uint8_t *key_blob, const size_t key_blob_length, const uint8_t *data, const size_t długość_danych, uint8_t **signed_data, size_t *signed_data_length)
int(* zweryfikować_dane )(const struct keymaster_device *dev, const void *signing_params, const uint8_t *key_blob, const size_t key_blob_length, const uint8_t *signed_data, const size_tsigned_data_length, const uint8_t *signature, const size_t długość_sygnału)

szczegółowy opis

Parametry, które można ustawić dla danej implementacji keymastera.

Definicja w linii 174 pliku keymaster.h .

Dokumentacja terenowa

uint32_t wersja_klienta

TO JEST PRZESTARZANE. Zamiast tego użyj nowych pól „module_api_version” i „hal_api_version” podczas inicjalizacji modułu keymaster_module.

Definicja w linii 187 pliku keymaster.h .

struktura hw_device_t wspólna

Typowe metody urządzenia keymaster. Musi to być pierwszy element elementu keymaster_device , ponieważ użytkownicy tej struktury będą rzutować wskaźnik hw_device_t na wskaźnik keymaster_device w kontekstach, w których wiadomo, że hw_device_t odwołuje się do urządzenia keymaster_device .

Definicja w linii 181 pliku keymaster.h .

pusty* kontekst

Definicja w linii 194 pliku keymaster.h .

int(* usuń_all)(stała struktura keymaster_device *dev)

Usuwa wszystkie klucze ze sprzętowego magazynu kluczy. Używane, gdy magazyn kluczy jest całkowicie resetowany.

Ta funkcja jest opcjonalna i powinna mieć wartość NULL, jeśli nie jest zaimplementowana.

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

Definicja w linii 249 pliku keymaster.h .

int(* Delete_keypair)(const struktura keymaster_device *dev, const uint8_t *key_blob, const size_t key_blob_length)

Usuwa parę kluczy skojarzoną z obiektem BLOB klucza.

Ta funkcja jest opcjonalna i powinna mieć wartość NULL, jeśli nie jest zaimplementowana.

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

Definicja w linii 237 pliku keymaster.h .

flagi uint32_t

Zobacz flagi zdefiniowane dla keymaster_device::flags powyżej.

Definicja w linii 192 pliku keymaster.h .

int(* generate_keypair)(const struct keymaster_device *dev, const keymaster_keypair_t typ_klucza, const void *key_params, uint8_t **key_blob, size_t *key_blob_length)

Generuje klucz publiczny i prywatny. Zwrócony obiekt typu key-blob jest nieprzejrzysty i należy go następnie udostępnić do podpisania i weryfikacji.

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

Definicja w linii 202 pliku keymaster.h .

int(* get_keypair_public)(const struktura keymaster_device *dev, const uint8_t *key_blob, const size_t key_blob_length, uint8_t **x509_data, size_t *x509_data_length)

Pobiera część klucza publicznego pary kluczy. Klucz publiczny musi być w formacie X.509 (standard Java) zakodowanej tablicy bajtów.

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

Definicja w linii 225 pliku keymaster.h .

int(* import_keypair)(const struktura keymaster_device *dev, const uint8_t *key, const size_t długość_klucza, uint8_t **key_blob, size_t *key_blob_length)

Importuje parę kluczy publiczny i prywatny. Zaimportowane klucze będą w formacie PKCS#8 z kodowaniem DER (standard Java). Zwrócony klucz-blob jest nieprzezroczysty i zostanie następnie udostępniony do podpisania i weryfikacji.

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

Definicja w linii 214 pliku keymaster.h .

int(* dane_znaku)(const struktura keymaster_device *dev, const void *signing_params, const uint8_t *key_blob, const size_t key_blob_length, const uint8_t *data, const size_t długość_danych, uint8_t **signed_data, size_t *signed_data_length)

Podpisuje dane przy użyciu wygenerowanego wcześniej obiektu typu blob klucza. Może to być klucz asymetryczny lub klucz tajny.

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

Definicja w linii 257 pliku keymaster.h .

int(* zweryfikowane_dane)(const struct keymaster_device *dev, const void *signing_params, const uint8_t *key_blob, const size_t key_blob_length, const uint8_t *signed_data, const size_tsigned_data_length, const uint8_t *signature, const size_t długość_sygnatury)

Weryfikuje dane podpisane za pomocą obiektu typu blob klucza. Może to być klucz asymetryczny lub klucz tajny.

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

Definicja w linii 269 pliku keymaster.h .


Dokumentacja tej struktury została wygenerowana z następującego pliku: