Tham chiếu Cấu trúc keymaster0_device

Tham chiếu Cấu trúc keymaster0_device

#include < keymaster0.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 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)
 

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

Định nghĩa thiết bị Keymaster0.

Định nghĩa tại dòng 27 của tệp keymaster0.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 40 của tệp keymaster0.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 keymaster0_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ỏ keymaster0_device trong ngữ cảnh mà bạn biết rằng hw_device_t tham chiếu đến keymaster0_device .

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

void* context

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

int(* delete_all)(const struct keymaster0_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 102 của tệp keymaster0.h .

int(* delete_keypair)(const struct keymaster0_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 90 của tệp keymaster0.h .

Cờ uint32_t

Xem các cờ được xác định cho keymaster0_device::flags trong keymaster_common.h

Định nghĩa tại dòng 45 của tệp 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)

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 55 của tệp 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)

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 78 của tệp 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)

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 67 của tệp 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)

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 110 của tệp keymaster0.h .

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)

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 122 của tệp keymaster0.h .


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