keymaster0_device-Strukturreferenz
#include < keymaster0.h >
Datenfelder | |
Struktur hw_device_t | gemeinsam |
uint32_t | client_version |
uint32_t | Flaggen |
Leere * | Kontext |
int(* | generic_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 signierte_datenlänge, const uint8_t *signature, const size_t signatur_length) |
detaillierte Beschreibung
Keymaster0-Gerätedefinition.
Definition in Zeile 27 der Datei keymaster0.h .
Felddokumentation
uint32_t client_version |
DIES IST VERALTET. Verwenden Sie stattdessen die neuen Felder „module_api_version“ und „hal_api_version“ in der keymaster_module-Initialisierung.
Definition in Zeile 40 der Datei keymaster0.h .
struct hw_device_t common |
Gängige Methoden des Keymaster-Geräts. Dies muss das erste Mitglied von keymaster0_device sein, da Benutzer dieser Struktur in Kontexten, in denen bekannt ist, dass hw_device_t auf ein keymaster0_device verweist, einen hw_device_t auf einen keymaster0_device- Zeiger umwandeln.
Definition in Zeile 34 der Datei keymaster0.h .
void* Kontext |
Definition in Zeile 47 der Datei keymaster0.h .
int(* delete_all)(const struct keymaster0_device *dev) |
Löscht alle Schlüssel im Hardware-Keystore. Wird verwendet, wenn der Keystore vollständig zurückgesetzt wird.
Diese Funktion ist optional und sollte auf NULL gesetzt werden, wenn sie nicht implementiert ist.
Gibt 0 bei Erfolg oder einem Fehlercode kleiner als 0 zurück.
Definition in Zeile 102 der Datei keymaster0.h .
int(* delete_keypair)(const struct keymaster0_device *dev, const uint8_t *key_blob, const size_t key_blob_length) |
Löscht das mit dem Schlüsselblob verknüpfte Schlüsselpaar.
Diese Funktion ist optional und sollte auf NULL gesetzt werden, wenn sie nicht implementiert ist.
Gibt 0 bei Erfolg oder einem Fehlercode kleiner als 0 zurück.
Definition in Zeile 90 der Datei keymaster0.h .
uint32_t-Flags |
Siehe die für keymaster0_device::flags in keymaster_common.h definierten Flags
Definition in Zeile 45 der Datei keymaster0.h .
int(* generic_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) |
Erzeugt einen öffentlichen und privaten Schlüssel. Der zurückgegebene Schlüsselblob ist undurchsichtig und muss anschließend zur Signierung und Überprüfung bereitgestellt werden.
Gibt zurück: 0 bei Erfolg oder einem Fehlercode kleiner als 0.
Definition in Zeile 55 der Datei 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) |
Ruft den öffentlichen Schlüsselteil eines Schlüsselpaars ab. Der öffentliche Schlüssel muss im X.509-Format (Java-Standard) als codiertes Byte-Array vorliegen.
Gibt zurück: 0 bei Erfolg oder einem Fehlercode kleiner als 0. Bei einem Fehler sollte x509_data nicht zugewiesen werden.
Definition in Zeile 78 der Datei 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) |
Importiert ein Paar aus öffentlichem und privatem Schlüssel. Die importierten Schlüssel liegen im PKCS#8-Format mit DER-Kodierung (Java-Standard) vor. Der zurückgegebene Schlüssel-Blob ist undurchsichtig und wird anschließend zum Signieren und Überprüfen bereitgestellt.
Gibt zurück: 0 bei Erfolg oder einem Fehlercode kleiner als 0.
Definition in Zeile 67 der Datei 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) |
Signiert Daten mithilfe eines zuvor generierten Schlüsselblobs. Dabei kann entweder ein asymmetrischer Schlüssel oder ein geheimer Schlüssel verwendet werden.
Gibt zurück: 0 bei Erfolg oder einem Fehlercode kleiner als 0.
Definition in Zeile 110 der Datei 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 signierte_daten_länge, const uint8_t *signature, const size_t signatur_länge) |
Überprüft mit einem Schlüsselblob signierte Daten. Dabei kann entweder ein asymmetrischer Schlüssel oder ein geheimer Schlüssel verwendet werden.
Rückgabe: 0 bei erfolgreicher Überprüfung oder ein Fehlercode kleiner als 0.
Definition in Zeile 122 der Datei keymaster0.h .
Die Dokumentation für diese Struktur wurde aus der folgenden Datei generiert:
- hardware/libhardware/include/hardware/ keymaster0.h