keymaster0_device 構造体のリファレンス
#include < keymaster0.h >
データフィールド | |
構造体hw_device_t | 一般 |
uint32_t | クライアントのバージョン |
uint32_t | フラグ |
空所 * | コンテクスト |
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 signed_length) |
詳細な説明
Keymaster0 デバイス定義。
ファイルkeymaster0.hの27行目の定義。
フィールドドキュメント
uint32_t クライアントのバージョン |
これは非推奨です。代わりに、keymaster_module の初期化で新しい「module_api_version」フィールドと「hal_api_version」フィールドを使用してください。
ファイルkeymaster0.hの40行目の定義。
構造体 hw_device_t共通 |
キーマスターデバイスの一般的なメソッド。この構造体のユーザーは、 hw_device_tがkeymaster0_device を参照することがわかっているコンテキストで hw_device_t をkeymaster0_deviceポインタにキャストするため、これはkeymaster0_deviceの最初のメンバーである必要があります。
ファイルkeymaster0.hの34行目の定義。
void* コンテキスト |
ファイル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) |
公開キーと秘密キーを生成します。返されたキー BLOB は不透明なので、後で署名と検証のために提供する必要があります。
戻り値: 成功した場合は 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 形式になります。返されたキー 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 signed_length) |
キー BLOB で署名されたデータを検証します。これには、非対称キーまたは秘密キーのいずれかを使用できます。
戻り値: 検証が成功した場合は 0、または 0 未満のエラー コード。
ファイルkeymaster0.hの122行目の定義。
この構造体のドキュメントは次のファイルから生成されました。
- hardware/libhardware/include/hardware/ keymaster0.h