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 *data, 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 *signature, const size_t signed_length) |
상세 설명
Keymaster0 장치 정의.
keymaster0.h 파일의 27번째 줄에 정의되어 있습니다.
현장 문서
uint32_t 클라이언트_버전 |
이는 더 이상 사용되지 않습니다. 대신 keymaster_module 초기화에서 새로운 "module_api_version" 및 "hal_api_version" 필드를 사용하세요.
keymaster0.h 파일의 40 번째 줄에 정의되어 있습니다.
구조체 hw_device_t 공통 |
Keymaster 장치의 일반적인 방법입니다. 이 구조의 사용자는 hw_device_t가 keymaster0_device를 참조하는 것으로 알려진 컨텍스트에서 hw_device_t 를 keymaster0_device 포인터로 캐스팅하므로 이는 keymaster0_device 의 첫 번째 멤버 여야 합니다.
keymaster0.h 파일의 34번째 줄에 정의되어 있습니다.
무효* 컨텍스트 |
keymaster0.h 파일의 47 번째 줄에 정의되어 있습니다.
int(* delete_all)(const struct keymaster0_device *dev) |
하드웨어 키 저장소의 모든 키를 삭제합니다. 키스토어가 완전히 재설정될 때 사용됩니다.
이 함수는 선택 사항이며 구현되지 않은 경우 NULL로 설정되어야 합니다.
성공하면 0을 반환하거나 0보다 작은 오류 코드를 반환합니다.
keymaster0.h 파일의 102번째 줄에 정의되어 있습니다.
int(* delete_keypair)(const struct keymaster0_device *dev, const uint8_t *key_blob, const size_t key_blob_length) |
키 blob과 연결된 키 쌍을 삭제합니다.
이 함수는 선택 사항이며 구현되지 않은 경우 NULL로 설정되어야 합니다.
성공하면 0을 반환하거나 0보다 작은 오류 코드를 반환합니다.
keymaster0.h 파일의 90 번째 줄에 정의되어 있습니다.
uint32_t 플래그 |
keymaster_common.h 에서 keymaster0_device::flags 에 대해 정의된 플래그를 참조하세요.
keymaster0.h 파일의 45 번째 줄에 정의되어 있습니다.
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보다 작은 오류 코드.
keymaster0.h 파일의 55번째 줄에 정의되어 있습니다.
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를 할당해서는 안 됩니다.
keymaster0.h 파일의 78 번째 줄에 정의되어 있습니다.
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) |
공개 및 개인 키 쌍을 가져옵니다. 가져온 키는 DER 인코딩(Java 표준)을 사용하는 PKCS#8 형식입니다. 반환된 키 블롭은 불투명하며 이후 서명 및 확인을 위해 제공됩니다.
반환: 성공 시 0 또는 0보다 작은 오류 코드.
keymaster0.h 파일의 67 번째 줄에 정의되어 있습니다.
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) |
이전에 생성된 키 blob을 사용하여 데이터에 서명합니다. 비대칭 키 또는 비밀 키를 사용할 수 있습니다.
반환: 성공 시 0 또는 0보다 작은 오류 코드.
keymaster0.h 파일의 110 번째 줄에 정의되어 있습니다.
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) |
Key-Blob으로 서명된 데이터를 확인합니다. 비대칭 키 또는 비밀 키를 사용할 수 있습니다.
반환: 성공적인 확인 시 0 또는 0보다 작은 오류 코드.
keymaster0.h 파일의 122 번째 줄에 정의되어 있습니다.
이 구조체에 대한 문서는 다음 파일에서 생성되었습니다.