การอ้างอิง Struct keymaster0_device

การอ้างอิง 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 .


เอกสารประกอบสำหรับโครงสร้างนี้สร้างขึ้นจากไฟล์ต่อไปนี้