keymaster0_device Odniesienie do struktury

keymaster0_device Odniesienie do struktury

#include < keymaster0.h >

Pola danych

struktura hw_device_t wspólny
uint32_t wersja_klienta
uint32_t flagi
próżnia * kontekst
int(* generuj_keypair )(const struct keymaster0_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 struktura keymaster0_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 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 struktura keymaster0_device *dev, const uint8_t *key_blob, const size_t key_blob_length)
int(* usuń_all )(stała struktura keymaster0_device *dev)
int(* dane_znaku )(const struktura 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 długość_danych, uint8_t **signed_data, size_t *signed_data_length)
int(* zweryfikować_dane )(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_tsigned_data_length, const uint8_t *signature, const size_t długość_sygnatury)

szczegółowy opis

Definicja urządzenia Keymaster0.

Definicja w linii 27 pliku keymaster0.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 40 pliku keymaster0.h .

struktura hw_device_t wspólna

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

Definicja w linii 34 pliku keymaster0.h .

pusty* kontekst

Definicja w linii 47 pliku keymaster0.h .

int(* usuń_all)(stała struktura keymaster0_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 102 pliku keymaster0.h .

int(* Delete_keypair)(const struktura keymaster0_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 90 pliku keymaster0.h .

flagi uint32_t

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

Definicja w linii 45 pliku keymaster0.h .

int(* generate_keypair)(const struktura keymaster0_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 55 pliku keymaster0.h .

int(* get_keypair_public)(const struktura 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ęść 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 78 pliku keymaster0.h .

int(* import_keypair)(const struktura keymaster0_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 67 pliku keymaster0.h .

int(* dane_znaku)(const struktura 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 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 110 pliku keymaster0.h .

int(* zweryfikować_dane)(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_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 122 pliku keymaster0.h .


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