keymaster_device Yapı Referansı

keymaster_device Yapı Referansı

#include < keymaster.h >

Veri alanları

hw_device_t yapısı yaygın
uint32_t client_version
uint32_t bayraklar
geçersiz * bağlam
int(* created_keypair )(const struct keymaster_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 keymaster_device *dev, const uint8_t *anahtar, const size_t anahtar_uzunluğu, uint8_t **anahtar_blob, size_t *anahtar_blob_uzunluğu)
int(* get_keypair_public )(const struct keymaster_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 keymaster_device *dev, const uint8_t *key_blob, const size_t key_blob_length)
int(* delete_all )(const struct keymaster_device *dev)
int(* işaret_verisi )(const struct keymaster_device *dev, const void *signing_params, const uint8_t *key_blob, const size_t key_blob_length, const uint8_t *data, const size_t veri_uzunluğu, uint8_t **imzalı_veri, size_t *imzalı_veri_uzunluğu)
int(* doğrulama_verisi )(const struct keymaster_device *dev, const void *imzalama_paramları, const uint8_t *anahtar_blob, const size_t anahtar_blob_uzunluğu, const uint8_t *imzalı_veri, const size_t imzalı_veri_uzunluğu, const uint8_t *imza, const size_t imza_uzunluğu)

Detaylı Açıklama

Belirli bir anahtar yöneticisi uygulaması için ayarlanabilecek parametreler.

Keymaster.h dosyasının 174. satırındaki tanım.

Saha Dokümantasyonu

uint32_t client_version

BU KULLANIMDAN KALDIRILMIŞTIR. Bunun yerine keymaster_module başlatma işlemindeki yeni "module_api_version" ve "hal_api_version" alanlarını kullanın.

Keymaster.h dosyasının 187. satırındaki tanım.

hw_device_t ortak yapısı

Keymaster cihazının ortak yöntemleri. Bu yapının kullanıcıları , hw_device_t öğesinin bir keymaster_device referansına başvurduğu bilinen bağlamlarda keymaster_device işaretçisine bir hw_device_t aktaracağından, bu keymaster_device öğesinin ilk üyesi olmalıdır .

Keymaster.h dosyasının 181. satırındaki tanım.

geçersiz* bağlam

Keymaster.h dosyasının 194. satırındaki tanım.

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

Donanım anahtar deposundaki tüm anahtarları siler. Anahtar deposu tamamen sıfırlandığında kullanılır.

Bu işlev isteğe bağlıdır ve uygulanmazsa NULL olarak ayarlanmalıdır.

Başarı durumunda 0'ı veya 0'dan küçük bir hata kodunu döndürür.

Keymaster.h dosyasının 249. satırındaki tanım.

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

Anahtar bloğuyla ilişkili anahtar çiftini siler.

Bu işlev isteğe bağlıdır ve uygulanmazsa NULL olarak ayarlanmalıdır.

Başarı durumunda 0'ı veya 0'dan küçük bir hata kodunu döndürür.

Keymaster.h dosyasının 237. satırındaki tanım.

uint32_t bayrakları

Yukarıdaki keymaster_device::flags için tanımlanan bayraklara bakın.

Keymaster.h dosyasının 192. satırındaki tanım.

int(* created_keypair)(const struct keymaster_device *dev, const keymaster_keypair_t key_type, const void *key_params, uint8_t **key_blob, size_t *key_blob_length)

Genel ve özel anahtar üretir. Döndürülen anahtar bloğu opaktır ve daha sonra imzalama ve doğrulama için sağlanmalıdır.

Döndürür: Başarı durumunda 0 veya 0'dan küçük bir hata kodu.

Keymaster.h dosyasının 202. satırındaki tanım.

int(* get_keypair_public)(const struct keymaster_device *dev, const uint8_t *key_blob, const size_t key_blob_length, uint8_t **x509_data, size_t *x509_data_length)

Bir anahtar çiftinin ortak anahtar kısmını alır. Genel anahtarın X.509 biçiminde (Java standardı) kodlanmış bayt dizisinde olması gerekir.

Başarı durumunda 0 veya 0'dan küçük bir hata kodu döndürür. Hata durumunda x509_data tahsis edilmemelidir.

Keymaster.h dosyasının 225. satırındaki tanım.

int(* import_keypair)(const struct keymaster_device *dev, const uint8_t *anahtar, const size_t anahtar_uzunluğu, uint8_t **anahtar_blob, size_t *anahtar_blob_uzunluğu)

Genel ve özel anahtar çiftini içe aktarır. İçe aktarılan anahtarlar DER kodlamalı (Java standardı) PKCS#8 formatında olacaktır. İade edilen anahtar bloğu opaktır ve daha sonra imza ve doğrulama için sağlanacaktır.

Döndürür: Başarı durumunda 0 veya 0'dan küçük bir hata kodu.

Keymaster.h dosyasının 214. satırındaki tanım.

int(*sign_data)(const struct keymaster_device *dev, const void *imzalama_paramları, const uint8_t *key_blob, const size_t anahtar_blob_uzunluğu, const uint8_t *data, const size_t veri_uzunluğu, uint8_t **imzalı_veri, size_t *imzalı_veri_uzunluğu)

Daha önce oluşturulmuş bir anahtar bloğunu kullanarak verileri imzalar. Bu, asimetrik bir anahtar veya gizli bir anahtar kullanabilir.

Döndürür: Başarı durumunda 0 veya 0'dan küçük bir hata kodu.

Keymaster.h dosyasının 257. satırındaki tanım.

int(* doğrulama_verisi)(const struct keymaster_device *dev, const void *imzalama_paramları, const uint8_t *key_blob, const size_t anahtar_blob_uzunluğu, const uint8_t *signed_data, const size_t imzalı_veri_uzunluğu, const uint8_t *imza, const size_t imza_uzunluğu)

Bir anahtar bloğuyla imzalanmış verileri doğrular. Bu, asimetrik bir anahtar veya gizli bir anahtar kullanabilir.

Döndürür: Başarılı doğrulamada 0 veya 0'dan küçük bir hata kodu.

Keymaster.h dosyasının 269. satırındaki tanım.


Bu yapıya ilişkin belgeler aşağıdaki dosyadan oluşturulmuştur: