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