keymaster0_device-Strukturreferenz
#include <
keymaster0.h
>
Datenfelder |
|
struct hw_device_t | common |
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) |
Detaillierte Beschreibung
Gerätedefinition für Keymaster0.
Definition in Zeile 27 der Datei keymaster0.h .
Felddokumentation
uint32_t client_version |
DIESE FUNKTION WIRD NICHT MEHR UNTERSTÜTZT. 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. Dieser muss das erste Mitglied von keymaster0_device sein, da Nutzer dieser Struktur einen hw_device_t in einen keymaster0_device -Pointer umwandeln, wenn bekannt ist, dass hw_device_t auf ein keymaster0_device verweist.
Definition in Zeile 34 der Datei keymaster0.h .
void* context |
Definition in Zeile 47 der Datei keymaster0.h .
int(* delete_all)(const struct keymaster0_device *dev) |
Alle Schlüssel im Hardware-Schlüsselspeicher werden gelöscht. Wird verwendet, wenn der Schlüsselspeicher vollständig zurückgesetzt wird.
Diese Funktion ist optional und sollte auf NULL gesetzt werden, wenn sie nicht implementiert ist.
Gibt bei Erfolg den Wert 0 oder einen 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 Schlüsselpaar, das mit dem Schlüssel-Blob verknüpft ist.
Diese Funktion ist optional und sollte auf NULL gesetzt werden, wenn sie nicht implementiert ist.
Gibt bei Erfolg den Wert 0 oder einen Fehlercode kleiner als 0 zurück.
Definition in Zeile 90 der Datei keymaster0.h
uint32_t-Flags |
Siehe Flags, die für keymaster0_device::flags definiert sind, in keymaster_common.h
Definition in Zeile 45 der Datei 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) |
Generiert einen öffentlichen und einen privaten Schlüssel. Der zurückgegebene Schlüssel-Blob ist undurchsichtig und muss anschließend zur Signatur und Überprüfung bereitgestellt werden.
Wird 0 zurückgegeben, wenn der Vorgang erfolgreich war, oder ein 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üssel eines Schlüsselpaars ab. Der öffentliche Schlüssel muss ein Byte-Array im X.509-Format (Java-Standard) sein.
Wird 0 zurückgegeben, wenn der Vorgang erfolgreich war, oder ein 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 Schlüsselpaar aus öffentlichem und privatem Schlüssel. Die importierten Schlüssel haben das PKCS#8-Format mit DER-Codierung (Java-Standard). Der zurückgegebene Schlüssel-Blob ist undurchsichtig und wird anschließend zur Signatur und Überprüfung bereitgestellt.
Wird 0 zurückgegeben, wenn der Vorgang erfolgreich war, oder ein 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 mit einem zuvor generierten Schlüssel-Blob. Dazu kann entweder ein asymmetrischer Schlüssel oder ein geheimer Schlüssel verwendet werden.
Wird 0 zurückgegeben, wenn der Vorgang erfolgreich war, oder ein 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 signed_data_length, const uint8_t *signature, const size_t signature_length) |
Prüft Daten, die mit einem Schlüssel-Blob signiert wurden. Dazu kann entweder ein asymmetrischer Schlüssel oder ein geheimer Schlüssel verwendet werden.
Wird 0 bei erfolgreicher Bestätigung oder ein Fehlercode kleiner als 0 zurückgegeben.
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