การอ้างอิงโครงสร้าง keymaster0_device
#include < keymaster0.h >
เขตข้อมูล | |
โครงสร้าง hw_device_t | ทั่วไป |
uint32_t | ลูกค้า_รุ่น |
uint32_t | ธง |
เป็นโมฆะ * | บริบท |
อินท์(* | 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) |
อินท์(* | 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) |
อินท์(* | 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) |
อินท์(* | Delete_keypair )(const struct keymaster0_device *dev, const uint8_t *key_blob, const size_t key_blob_length) |
อินท์(* | Delete_all )(const struct keymaster0_device *dev) |
อินท์(* | 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 *ข้อมูล, const size_t data_length, uint8_t **signed_data, size_t *signed_data_length) |
อินท์(* | 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 *ลายเซ็น, const size_t Signature_length) |
คำอธิบายโดยละเอียด
คำจำกัดความของอุปกรณ์ Keymaster0
คำจำกัดความที่บรรทัดที่ 27 ของไฟล์ keymaster0.h
เอกสารภาคสนาม
uint32_t ลูกค้า_รุ่น |
สิ่งนี้เลิกใช้แล้ว ใช้ฟิลด์ "module_api_version" และ "hal_api_version" ใหม่ในการเริ่มต้น keymaster_module แทน
คำจำกัดความที่บรรทัดที่ 40 ของไฟล์ keymaster0.h
struct hw_device_t ทั่วไป |
วิธีการทั่วไปของอุปกรณ์คีย์มาสเตอร์ นี่ จะต้อง เป็นสมาชิกคนแรกของ keymaster0_device เนื่องจากผู้ใช้ของโครงสร้างนี้จะส่ง hw_device_t ไปยังตัวชี้ keymaster0_device ในบริบทที่ทราบว่า hw_device_t อ้างอิงถึง keymaster0_device
คำจำกัดความที่บรรทัดที่ 34 ของไฟล์ keymaster0.h
บริบทเป็นโมฆะ* |
คำจำกัดความที่บรรทัดที่ 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) |
ลบคู่คีย์ที่เกี่ยวข้องกับคีย์บล็อบ
ฟังก์ชันนี้เป็นทางเลือกและควรตั้งค่าเป็น NULL หากไม่ได้ใช้งาน
ส่งกลับ 0 เมื่อสำเร็จหรือรหัสข้อผิดพลาดน้อยกว่า 0
คำจำกัดความที่บรรทัด 90 ของไฟล์ keymaster0.h
ธง uint32_t |
ดูแฟล็กที่กำหนดไว้สำหรับ 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) |
สร้างคีย์สาธารณะและส่วนตัว คีย์-บล็อบที่ส่งคืนนั้นทึบแสง และต้องจัดเตรียมไว้เพื่อการลงนามและการตรวจสอบในภายหลัง
ส่งกลับ: 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 *คีย์, const size_t key_length, uint8_t **key_blob, size_t *key_blob_length) |
นำเข้าคู่คีย์สาธารณะและส่วนตัว คีย์ที่นำเข้าจะอยู่ในรูปแบบ PKCS#8 พร้อมการเข้ารหัส DER (มาตรฐาน Java) คีย์-บล็อบที่ส่งคืนนั้นทึบแสง และจะมีการจัดเตรียมสำหรับการลงนามและการตรวจสอบในภายหลัง
ส่งกลับ: 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 *ข้อมูล, 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 *ลายเซ็น, const size_t ลายเซ็น_ความยาว) |
ตรวจสอบข้อมูลที่ลงนามด้วยคีย์หยด ซึ่งสามารถใช้คีย์แบบอสมมาตรหรือคีย์ลับก็ได้
ส่งคืน: 0 เมื่อยืนยันสำเร็จหรือรหัสข้อผิดพลาดน้อยกว่า 0
คำจำกัดความที่บรรทัด 122 ของไฟล์ keymaster0.h
เอกสารประกอบสำหรับโครงสร้างนี้สร้างขึ้นจากไฟล์ต่อไปนี้:
- ฮาร์ดแวร์ / libhardware / รวม / ฮาร์ดแวร์ / keymaster0.h