Référence de structure keymaster0_device

Référence de structure keymaster0_device

#include < keymaster0.h >

Champs de données

structure hw_device_t commun
uint32_t version_client
uint32_t drapeaux
vide * contexte
entier(* 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)
entier(* 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)
entier(* 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)
entier(* delete_keypair (const struct keymaster0_device *dev, const uint8_t *key_blob, const size_t key_blob_length)
entier(* delete_all )(const struct keymaster0_device *dev)
entier(* 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)
entier(* 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 signé_data_length, const uint8_t *signature, const size_t signature_length)

Description détaillée

Définition du périphérique Keymaster0.

Définition à la ligne 27 du fichier keymaster0.h .

Documentation de terrain

uint32_t version_client

CECI EST DÉCONSEILLÉ. Utilisez plutôt les nouveaux champs "module_api_version" et "hal_api_version" dans l'initialisation keymaster_module.

Définition à la ligne 40 du fichier keymaster0.h .

struct hw_device_t commun

Méthodes courantes du périphérique keymaster. Il doit s'agir du premier membre de keymaster0_device car les utilisateurs de cette structure lanceront un pointeur hw_device_t vers keymaster0_device dans des contextes où l'on sait que hw_device_t fait référence à un keymaster0_device .

Définition à la ligne 34 du fichier keymaster0.h .

contexte vide*

Définition à la ligne 47 du fichier keymaster0.h .

int(* delete_all)(const struct keymaster0_device *dev)

Supprime toutes les clés du magasin de clés matérielles. Utilisé lorsque le magasin de clés est complètement réinitialisé.

Cette fonction est facultative et doit être définie sur NULL si elle n'est pas implémentée.

Renvoie 0 en cas de succès ou un code d'erreur inférieur à 0.

Définition à la ligne 102 du fichier keymaster0.h .

int(* delete_keypair)(const struct keymaster0_device *dev, const uint8_t *key_blob, const size_t key_blob_length)

Supprime la paire de clés associée au blob de clés.

Cette fonction est facultative et doit être définie sur NULL si elle n'est pas implémentée.

Renvoie 0 en cas de succès ou un code d'erreur inférieur à 0.

Définition à la ligne 90 du fichier keymaster0.h .

drapeaux uint32_t

Voir les indicateurs définis pour keymaster0_device :: flags dans keymaster_common.h

Définition à la ligne 45 du fichier 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)

Génère une clé publique et privée. Le key-blob renvoyé est opaque et doit ensuite être fourni pour signature et vérification.

Renvoie : 0 en cas de succès ou un code d'erreur inférieur à 0.

Définition à la ligne 55 du fichier 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)

Obtient la partie clé publique d’une paire de clés. La clé publique doit être dans un tableau d'octets codé au format X.509 (norme Java).

Renvoie : 0 en cas de succès ou un code d'erreur inférieur à 0. En cas d'erreur, x509_data ne doit pas être alloué.

Définition à la ligne 78 du fichier 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)

Importe une paire de clés publique et privée. Les clés importées seront au format PKCS#8 avec encodage DER (standard Java). Le key-blob renvoyé est opaque et sera ensuite fourni pour signature et vérification.

Renvoie : 0 en cas de succès ou un code d'erreur inférieur à 0.

Définition à la ligne 67 du fichier 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)

Signe les données à l’aide d’un key-blob généré auparavant. Celui-ci peut utiliser soit une clé asymétrique, soit une clé secrète.

Renvoie : 0 en cas de succès ou un code d'erreur inférieur à 0.

Définition à la ligne 110 du fichier 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 signé_data_length, const uint8_t *signature, const size_t signature_length)

Vérifie les données signées avec un key-blob. Celui-ci peut utiliser soit une clé asymétrique, soit une clé secrète.

Renvoie : 0 en cas de vérification réussie ou un code d'erreur inférieur à 0.

Définition à la ligne 122 du fichier keymaster0.h .


La documentation de cette structure a été générée à partir du fichier suivant :