keymaster0_device Referensi Struktur

keymaster0_device Referensi Struktur

#include < keymaster0.h >

Bidang Data

struct hw_device_t umum
uint32_t versi_klien
uint32_t bendera
ruang kosong * konteks
ke dalam(* 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)
ke dalam(* 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)
ke dalam(* 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)
ke dalam(* delete_keypair )(const struct keymaster0_device *dev, const uint8_t *key_blob, const size_t key_blob_length)
ke dalam(* delete_all )(const struct keymaster0_device *dev)
ke dalam(* 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)
ke dalam(* verifikasi_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 *tanda tangan, const size_t tanda tangan_panjang)

Detil Deskripsi

Definisi perangkat Keymaster0.

Definisi pada baris 27 file keymaster0.h .

Dokumentasi Lapangan

uint32_t client_version

INI TIDAK DIGUNAKAN LAGI. Gunakan kolom "module_api_version" dan "hal_api_version" baru di inisialisasi keymaster_module.

Definisi pada baris 40 file keymaster0.h .

struct hw_device_t umum

Metode umum perangkat keymaster. Ini harus menjadi anggota pertama keymaster0_device karena pengguna struktur ini akan mentransmisikan penunjuk hw_device_t ke keymaster0_device dalam konteks yang diketahui bahwa hw_device_t merujuk pada keymaster0_device .

Definisi pada baris 34 file keymaster0.h .

konteks kosong*

Definisi pada baris 47 file keymaster0.h .

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

Menghapus semua kunci di keystore perangkat keras. Digunakan saat keystore direset sepenuhnya.

Fungsi ini bersifat opsional dan harus disetel ke NULL jika tidak diterapkan.

Mengembalikan 0 jika berhasil atau kode kesalahan kurang dari 0.

Definisi pada baris 102 file keymaster0.h .

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

Menghapus pasangan kunci yang terkait dengan gumpalan kunci.

Fungsi ini bersifat opsional dan harus disetel ke NULL jika tidak diterapkan.

Mengembalikan 0 jika berhasil atau kode kesalahan kurang dari 0.

Definisi pada baris 90 file keymaster0.h .

bendera uint32_t

Lihat tanda yang ditentukan untuk keymaster0_device::flags di keymaster_common.h

Definisi pada baris 45 file 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)

Menghasilkan kunci publik dan pribadi. Gumpalan kunci yang dikembalikan tidak tembus cahaya dan selanjutnya harus disediakan untuk penandatanganan dan verifikasi.

Pengembalian: 0 jika berhasil atau kode kesalahan kurang dari 0.

Definisi pada baris 55 file 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)

Mendapatkan bagian kunci publik dari pasangan kunci. Kunci publik harus dalam array byte yang dikodekan dalam format X.509 (standar Java).

Pengembalian: 0 jika berhasil atau kode kesalahan kurang dari 0. Jika terjadi kesalahan, x509_data tidak boleh dialokasikan.

Definisi pada baris 78 file 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)

Mengimpor pasangan kunci publik dan pribadi. Kunci yang diimpor akan dalam format PKCS#8 dengan pengkodean DER (standar Java). Gumpalan kunci yang dikembalikan tidak tembus cahaya dan selanjutnya akan diberikan untuk penandatanganan dan verifikasi.

Pengembalian: 0 jika berhasil atau kode kesalahan kurang dari 0.

Definisi pada baris 67 file 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)

Menandatangani data menggunakan gumpalan kunci yang dihasilkan sebelumnya. Ini dapat menggunakan kunci asimetris atau kunci rahasia.

Pengembalian: 0 jika berhasil atau kode kesalahan kurang dari 0.

Definisi pada baris 110 file keymaster0.h .

int(* verifikasi_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 *tanda tangan, const size_t tanda tangan_panjang)

Memverifikasi data yang ditandatangani dengan gumpalan kunci. Ini dapat menggunakan kunci asimetris atau kunci rahasia.

Pengembalian: 0 pada verifikasi berhasil atau kode kesalahan kurang dari 0.

Definisi pada baris 122 file keymaster0.h .


Dokumentasi untuk struct ini dihasilkan dari file berikut: