keymaster0_device Yapı Referansı
#include <
keymaster0.h
>
Veri Alanları |
|
struct hw_device_t | yaygın |
uint32_t | client_version |
uint32_t | işaretleri |
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) |
Ayrıntılı Açıklama
Keymaster0 cihaz tanımı.
Tanımı, keymaster0.h dosyasının 27. satı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.
Tanımı, keymaster0.h dosyasının 40. satırı içindedir.
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 keymaster0_device i gösterdiği bilinen bağlamlarda hw_device_t keymaster0_device i işaret edecekleri için bu, keymaster0_device yapısının ilk üyesi olmalıdır.
Tanımı, keymaster0.h dosyasının 34. satırı içindedir.
void* bağlamı |
Tanımı, keymaster0.h dosyasının 47. satırı
int(* delete_all)(const struct keymaster0_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.
Tanımı, keymaster0.h dosyasının 102 satırı
int(* delete_keypair)(const struct keymaster0_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ı, keymaster0.h dosyasının 90. satırı
uint32_t işaretleri |
keymaster0_device::flags için tanımlanan işaretlere keymaster_common.h dosyasından bakabilirsiniz.
Tanımı, keymaster0.h dosyasının 45. satırı
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) |
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ı, keymaster0.h dosyasının 55. satırı içindedir.
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 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ı, keymaster0.h dosyasının 78. satırı içindedir.
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) |
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ı, keymaster0.h dosyasının 67. satırı içindedir.
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) |
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ı, keymaster0.h dosyasının 110 satırı
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) |
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.
Tanımı, keymaster0.h dosyasının 122 satırı
Bu yapının dokümanları aşağıdaki dosyadan oluşturulmuştur:
- hardware/libhardware/include/hardware/ keymaster0.h