keymaster0_device Yapı Referansı

keymaster0_device Yapı Referansı

#include < keymaster0.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 keymaster0_device *dev, const keymaster_keypair_t anahtar_türü, const void *anahtar_params, uint8_t **anahtar_blob, size_t *anahtar_blob_uzunluğu)
int(* import_keypair )(const struct keymaster0_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 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(* doğrulama_verisi )(const struct keymaster0_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

Keymaster0 cihaz tanımı.

Keymaster0.h dosyasının 27. 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.

Keymaster0.h dosyasının 40. 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'nin bir keymaster0_device referansına başvurduğu bilinen bağlamlarda keymaster0_device işaretçisine bir hw_device_t yayınlayacağından , bu keymaster0_device'in ilk üyesi olmalıdır .

Keymaster0.h dosyasının 34. satırındaki tanım.

geçersiz* bağlam

Keymaster0.h dosyasının 47. satırındaki tanım.

int(* delete_all)(const struct keymaster0_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.

Keymaster0.h dosyasının 102. satırındaki tanım.

int(* delete_keypair)(const struct keymaster0_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.

Keymaster0.h dosyasının 90. satırındaki tanım.

uint32_t bayrakları

Keymaster_common.h'de keymaster0_device::flags için tanımlanan bayraklara bakın

Keymaster0.h dosyasının 45. satırındaki tanım.

int(* created_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)

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.

Keymaster0.h dosyasının 55. satırındaki tanım.

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)

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.

Keymaster0.h dosyasının 78. satırındaki tanım.

int(* import_keypair)(const struct keymaster0_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.

Keymaster0.h dosyasının 67. satırındaki tanım.

int(*sign_data)(const struct keymaster0_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.

Keymaster0.h dosyasının 110. satırındaki tanım.

int(* doğrulama_verisi)(const struct keymaster0_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.

Keymaster0.h dosyasının 122. satırındaki tanım.


Bu yapının belgeleri aşağıdaki dosyadan oluşturulmuştur: