keymaster0_device 構造体リファレンス

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 行 の定義。


この構造体のドキュメントは、次のファイルから生成されました。