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