Tài liệu tham khảo về cấu trúc keymaster_device

Tài liệu tham khảo về cấu trúc keymaster_device

#include < keymaster.h >

Trường dữ liệu

struct hw_device_t   common
 
uint32_t  client_version
 
uint32_t  cờ
 
void *  ngữ cảnh
 
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)
 

Nội dung mô tả chi tiết

Các tham số có thể được đặt cho một phương thức triển khai keymaster nhất định.

Định nghĩa tại dòng 174 của tệp keymaster.h .

Tài liệu về trường

uint32_t client_version

ĐÃ NGƯNG SỬ DỤNG. Thay vào đó, hãy sử dụng các trường "module_api_version" và "hal_api_version" mới trong quá trình khởi tạo keymaster_module.

Định nghĩa tại dòng 187 của tệp keymaster.h .

cấu trúc hw_device_t phổ biến

Các phương thức phổ biến của thiết bị keymaster. này phải là thành viên đầu tiên của keymaster_device vì người dùng của cấu trúc này sẽ truyền một hw_device_t đến con trỏ keymaster_device trong ngữ cảnh mà bạn biết rằng hw_device_t tham chiếu đến keymaster_device .

Định nghĩa tại dòng 181 của tệp keymaster.h .

void* context

Định nghĩa tại dòng 194 của tệp keymaster.h .

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

Xoá tất cả khoá trong kho khoá phần cứng. Được dùng khi kho khoá được đặt lại hoàn toàn.

Hàm này là không bắt buộc và bạn nên đặt thành NULL nếu không triển khai.

Trả về 0 khi thành công hoặc mã lỗi nhỏ hơn 0.

Định nghĩa tại dòng 249 của tệp keymaster.h .

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

Xoá cặp khoá liên kết với blob khoá.

Hàm này là không bắt buộc và bạn nên đặt thành NULL nếu không triển khai.

Trả về 0 khi thành công hoặc mã lỗi nhỏ hơn 0.

Định nghĩa tại dòng 237 của tệp keymaster.h .

Cờ uint32_t

Xem các cờ được xác định cho keymaster_device::flags ở trên.

Định nghĩa tại dòng 192 của tệp keymaster.h .

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)

Tạo khoá công khai và khoá riêng tư. Blob khoá được trả về là mờ và phải được cung cấp sau đó để ký và xác minh.

Trả về: 0 khi thành công hoặc mã lỗi nhỏ hơn 0.

Định nghĩa tại dòng 202 của tệp keymaster.h .

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)

Lấy phần khoá công khai của một cặp khoá. Khoá công khai phải ở định dạng X.509 (tiêu chuẩn Java) được mã hoá theo mảng byte.

Trả về: 0 khi thành công hoặc mã lỗi nhỏ hơn 0. Khi xảy ra lỗi, bạn không nên phân bổ x509_data.

Định nghĩa tại dòng 225 của tệp keymaster.h .

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)

Nhập một cặp khoá công khai và khoá riêng tư. Các khoá đã nhập sẽ ở định dạng PKCS#8 với phương thức mã hoá DER (tiêu chuẩn Java). Blob khoá được trả về là mờ và sẽ được cung cấp sau đó để ký và xác minh.

Trả về: 0 khi thành công hoặc mã lỗi nhỏ hơn 0.

Định nghĩa tại dòng 214 của tệp keymaster.h .

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)

Ký dữ liệu bằng một blob-khoá được tạo trước đó. Phương thức này có thể sử dụng khoá bất đối xứng hoặc khoá bí mật.

Trả về: 0 khi thành công hoặc mã lỗi nhỏ hơn 0.

Định nghĩa tại dòng 257 của tệp keymaster.h .

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)

Xác minh dữ liệu được ký bằng blob khoá. Phương thức này có thể sử dụng khoá bất đối xứng hoặc khoá bí mật.

Trả về: 0 khi xác minh thành công hoặc mã lỗi nhỏ hơn 0.

Định nghĩa tại dòng 269 của tệp keymaster.h .


Tài liệu cho cấu trúc này được tạo từ tệp sau: