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