การอ้างอิง Struct keymaster0_device
#include <
keymaster0.h
>
ฟิลด์ข้อมูล |
|
struct hw_device_t | common |
uint32_t | client_version |
uint32_t | flags |
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) |
คำอธิบายโดยละเอียด
คําจํากัดความของอุปกรณ์ Keymaster0
คําจํากัดความที่บรรทัด 27 ของไฟล์ keymaster0.h .
เอกสารประกอบในสนาม
uint32_t client_version |
การดำเนินการนี้เลิกใช้งานแล้ว ใช้ช่อง "module_api_version" และ "hal_api_version" ใหม่ในการเริ่มต้น keymaster_module แทน
คําจํากัดความที่บรรทัด 40 ของไฟล์ keymaster0.h .
struct hw_device_t common |
วิธีการทั่วไปของอุปกรณ์ Keymaster ข้อมูลนี้ ต้อง เป็นสมาชิกแรกของ keymaster0_device เนื่องจากผู้ใช้โครงสร้างนี้จะแคสต์ hw_device_t เป็น ตัวชี้ keymaster0_device ในบริบทที่ทราบว่า hw_device_t อ้างอิงถึง keymaster0_device
คําจํากัดความที่บรรทัด 34 ของไฟล์ keymaster0.h .
void* context |
คําจํากัดความที่บรรทัด 47 ของไฟล์ keymaster0.h .
int(* delete_all)(const struct keymaster0_device *dev) |
ลบคีย์ทั้งหมดในคีย์สโตร์ฮาร์ดแวร์ ใช้เมื่อรีเซ็ตคีย์สโตร์โดยสมบูรณ์
ฟังก์ชันนี้เป็นฟังก์ชันที่ไม่บังคับและควรตั้งค่าเป็น NULL หากไม่ได้ใช้งาน
แสดงผล 0 เมื่อสําเร็จ หรือรหัสข้อผิดพลาดที่น้อยกว่า 0
คําจํากัดความที่บรรทัด 102 ของไฟล์ keymaster0.h .
int(* delete_keypair)(const struct keymaster0_device *dev, const uint8_t *key_blob, const size_t key_blob_length) |
ลบคู่คีย์ที่เชื่อมโยงกับ Blob ของคีย์
ฟังก์ชันนี้เป็นฟังก์ชันที่ไม่บังคับและควรตั้งค่าเป็น NULL หากไม่ได้ใช้งาน
แสดงผล 0 เมื่อสําเร็จ หรือรหัสข้อผิดพลาดที่น้อยกว่า 0
คําจํากัดความที่บรรทัด 90 ของไฟล์ keymaster0.h .
Flag ของ uint32_t |
ดู Flag ที่กําหนดสำหรับ keymaster0_device::flags ใน keymaster_common.h
คําจํากัดความที่บรรทัด 45 ของไฟล์ 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) |
สร้างคีย์สาธารณะและส่วนตัว Blob คีย์ที่แสดงผลจะทึบแสงและต้องระบุสำหรับการลงชื่อและยืนยันในภายหลัง
แสดงผล: 0 เมื่อสําเร็จ หรือรหัสข้อผิดพลาดที่น้อยกว่า 0
คําจํากัดความที่บรรทัด 55 ของไฟล์ 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) |
รับส่วนคีย์สาธารณะของคู่คีย์ คีย์สาธารณะต้องอยู่ในรูปแบบอาร์เรย์ไบต์ที่เข้ารหัส X.509 (มาตรฐาน Java)
แสดงผล: 0 เมื่อสําเร็จ หรือรหัสข้อผิดพลาดที่น้อยกว่า 0 ในกรณีที่เกิดข้อผิดพลาด ระบบไม่ควรจัดสรร x509_data
คําจํากัดความที่บรรทัด 78 ของไฟล์ 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) |
นําเข้าคู่คีย์สาธารณะและส่วนตัว คีย์ที่นำเข้าจะอยู่ในรูปแบบ PKCS#8 ที่มีการเข้ารหัส DER (มาตรฐาน Java) Blob คีย์ที่แสดงผลจะทึบแสงและจะใช้สำหรับการลงนามและการยืนยันในภายหลัง
แสดงผล: 0 เมื่อสําเร็จ หรือรหัสข้อผิดพลาดที่น้อยกว่า 0
คําจํากัดความที่บรรทัด 67 ของไฟล์ 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) |
เซ็นข้อมูลโดยใช้บล็อกคีย์ที่สร้างไว้ก่อนหน้านี้ ซึ่งจะใช้คีย์แบบไม่สมมาตรหรือคีย์ลับก็ได้
แสดงผล: 0 เมื่อสําเร็จ หรือรหัสข้อผิดพลาดที่น้อยกว่า 0
คําจํากัดความที่บรรทัด 110 ของไฟล์ 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) |
ยืนยันข้อมูลที่ลงนามด้วยบล็อกคีย์ ซึ่งจะใช้คีย์แบบไม่สมมาตรหรือคีย์ลับก็ได้
แสดงผล: 0 เมื่อยืนยันสำเร็จ หรือรหัสข้อผิดพลาดที่น้อยกว่า 0
คําจํากัดความที่บรรทัด 122 ของไฟล์ keymaster0.h .
เอกสารประกอบสำหรับโครงสร้างนี้สร้างขึ้นจากไฟล์ต่อไปนี้
- hardware/libhardware/include/hardware/ keymaster0.h