keymaster0_device 구조체 참조
#include <
keymaster0.h
>
데이터 필드 |
|
struct hw_device_t | 일반적인 |
uint32_t | client_version |
uint32_t | 플래그 |
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 기기 정의
keymaster0.h 파일의 27 번 행에 정의되어 있습니다.
필드 문서
uint32_t client_version |
지원 중단됨 대신 keymaster_module 초기화에서 새 'module_api_version' 및 'hal_api_version' 필드를 사용하세요.
keymaster0.h 파일의 40 번 째 줄에 정의되어 있습니다.
struct hw_device_t common |
Keymaster 기기의 일반적인 메서드입니다. 이 구조체의 사용자는 hw_device_t 를 hw_device_t 가 keymaster0_device 를 참조하는 것으로 알려진 컨텍스트에서 keymaster0_device 포인터로 변환하므로 이 keymaster0_device 의 첫 번째 구성원이어야 합니다 .
keymaster0.h FILE의 34 라인에 정의되어 있습니다.
void* context |
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) |
키 블록과 연결된 키 쌍을 삭제합니다.
이 함수는 선택사항이며 구현되지 않은 경우 NULL로 설정해야 합니다.
성공 시 0을 반환하거나 0보다 작은 오류 코드를 반환합니다.
keymaster0.h 파일의 90 번 째 줄에 정의되어 있습니다.
uint32_t 플래그 |
keymaster_common.h 에서 keymaster0_device::flags 에 정의된 플래그를 참고하세요.
keymaster0.h FILE의 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) |
공개 키와 비공개 키를 생성합니다. 반환된 키 blob은 불투명하며 서명 및 인증을 위해 나중에 제공해야 합니다.
반환값: 성공 시 0, 실패 시 0보다 작은 오류 코드입니다.
keymaster0.h FILE의 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 형식입니다. 반환된 키 blob은 불투명하며 이후 서명 및 확인을 위해 제공됩니다.
반환값: 성공 시 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) |
키 블록으로 서명된 데이터를 확인합니다. 비대칭 키 또는 보안 비밀을 사용할 수 있습니다.
반환값: 확인에 성공하면 0을, 실패하면 0보다 작은 오류 코드를 반환합니다.
keymaster0.h FILE의 122 행에 정의되어 있습니다.
이 구조체에 관한 문서는 다음 파일에서 생성되었습니다.
- hardware/libhardware/include/hardware/ keymaster0.h