keymaster_device Yapı Referansı

keymaster_device Yapı Referansı

#include < keymaster.h >

Veri Alanları

struct hw_device_t   yaygın
 
uint32_t  client_version
 
uint32_t  işaretleri
 
void *  context
 
int(*  generate_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 *key, const size_t key_length, uint8_t **key_blob, size_t *key_blob_length)
 
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(*  sign_data )(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 data_length, uint8_t **signed_data, size_t *signed_data_length)
 
int(*  verify_data )(const struct keymaster_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)
 

Ayrıntılı Açıklama

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

keymaster.h dosyasının 174 satırındadır.

Alan Belgeleri

uint32_t client_version

BU ÖZELLİK KULLANIMDAN KALDIRILDI. Bunun yerine, keymaster_module başlatma işleminde yeni "module_api_version" ve "hal_api_version" alanlarını kullanın.

keymaster.h dosyasının 187. satırı için tanımı

struct hw_device_t common

Anahtar yöneticisi cihazının yaygın yöntemleri. Bu yapının kullanıcıları, hw_device_t keymaster_device yönergesine referans verdiği bilinen bağlamlarda hw_device_t keymaster_device işleyicisi atacağından bu, keymaster_device yapısının ilk üyesi olmalıdır.

keymaster.h dosyasının 181 satırı

void* bağlamı

keymaster.h dosyasının 194 satırı

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

Donanım anahtar deposundaki tüm anahtarları siler. Anahtar anahtar kutusu 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ılı olduğunda 0 değerini, aksi takdirde 0'dan küçük bir hata kodu döndürür.

keymaster.h dosyasının 249 satırı

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

Anahtar blob'uyla ilişkili anahtar çiftini siler.

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

Başarılı olduğunda 0 değerini, aksi takdirde 0'dan küçük bir hata kodu döndürür.

Tanımı, keymaster.h dosyasının 237. satırı içindedir.

uint32_t işaretleri

keymaster_device::flags için tanımlanan işaretlere yukarıdan bakın.

keymaster.h dosyasının 192 satırı

int(* generate_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 oluşturur. Döndürülen anahtar kümesi opaktır ve imzalama ve doğrulama için daha sonra sağlanmalıdır.

Döndürülen değer: Başarılı olduğunda 0, aksi takdirde 0'dan küçük bir hata kodu.

Tanımı, keymaster.h dosyasının 202 satırı içindedir.

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 bölümünü alır. Ortak anahtar, X.509 biçiminde (Java standardı) kodlanmış bayt dizisi olmalıdır.

Döndürülen değer: Başarılı olduğunda 0, aksi takdirde 0'dan küçük bir hata kodu. Hata durumunda x509_data ayrılmamalıdır.

Tanımı, keymaster.h dosyasının 225. satırı içindedir.

int(* import_keypair)(const struct keymaster_device *dev, const uint8_t *key, const size_t key_length, uint8_t **key_blob, size_t *key_blob_length)

Genel ve özel anahtar çiftini içe aktarır. İçe aktarılan anahtarlar, DER kodlamalı PKCS#8 biçiminde (Java standardı) olur. Döndürülen anahtar kümesi opaktır ve daha sonra imzalama ve doğrulama için sağlanır.

Döndürülen değer: Başarılı olduğunda 0, aksi takdirde 0'dan küçük bir hata kodu.

Tanımı, keymaster.h dosyasının 214 satırı

int(* sign_data)(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 data_length, uint8_t **signed_data, size_t *signed_data_length)

Daha önce oluşturulmuş bir anahtar kümesini kullanarak verileri imzalar. Bu işlem için asimetrik anahtar veya gizli anahtar kullanılabilir.

Döndürülen değer: Başarılı olduğunda 0, aksi takdirde 0'dan küçük bir hata kodu.

Tanımı, keymaster.h dosyasının 257 satırı

int(* verify_data)(const struct keymaster_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)

Anahtar kümesiyle imzalanan verileri doğrular. Bu işlem için asimetrik anahtar veya gizli anahtar kullanılabilir.

Döndürülen değer: Doğrulama başarılıysa 0 veya 0'dan küçük bir hata kodu.

keymaster.h dosyasının 269 satırı


Bu yapının dokümanları aşağıdaki dosyadan oluşturulmuştur: