keymaster0_device 構造体リファレンス
#include <
keymaster0.h
>
データ フィールド |
|
struct hw_device_t | common |
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 が keymaster0_device を参照していることが判明しているコンテキストで、 hw_device_t を keymaster0_device ポインタにキャストするため、このメンバーは keymaster0_device の最初のメンバーである必要があります。
ファイル keymaster0.h の 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) |
鍵 BLOB に関連付けられている鍵ペアを削除します。
この関数は省略可能で、実装されていない場合は NULL に設定する必要があります。
成功した場合は 0、それ以外の場合は 0 未満のエラーコードを返します。
ファイル keymaster0.h の 90 行の定義。
uint32_t flags |
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 エンコードの PKCS#8 形式(Java 標準)になります。返される鍵 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 の 122 行 の定義。
この構造体のドキュメントは、次のファイルから生成されました。
- hardware/libhardware/include/hardware/ keymaster0.h