gatekeeper_device 構造体リファレンス
#include <
gatekeeper.h
>
データ フィールド |
|
hw_device_t | common |
int(* | Enrollment )(const struct gatekeeper_device *dev, uint32_t uid, const uint8_t *current_password_handle, uint32_t current_password_handle_length, const uint8_t *current_password, uint32_t current_password_length, const uint8_t *desired_password, uint32_t desired_password_length, uint8_t **enrolled_password_handle, uint32_t *enrolled_password_handle_length) |
int(* | verify )(const struct gatekeeper_device *dev, uint32_t uid, uint64_t challenge, const uint8_t *enrolled_password_handle, uint32_t enrolled_password_handle_length, const uint8_t *provided_password, uint32_t provided_password_length, uint8_t **auth_token, uint32_t *auth_token_length, bool *request_reenroll) |
int(* | delete_user )(const struct gatekeeper_device *dev, uint32_t uid) |
int(* | delete_all_users )(const struct gatekeeper_device *dev) |
詳細な説明
ファイル gatekeeper.h の 41 行 の定義。
フィールドのドキュメント
hw_device_t 共通 |
ゲートキーパー デバイスの一般的なメソッド。上記のように、これは keymaster_device の最初のメンバーである必要があります。
ファイル gatekeeper.h の 46 行 の定義。
int(* delete_all_users)(const struct gatekeeper_device *dev) |
ファイル gatekeeper.h の 173 行の定義。
int(* delete_user)(const struct gatekeeper_device *dev, uint32_t uid) |
ファイル gatekeeper.h の行 159 の定義。
int(* enroll)(const struct gatekeeper_device *dev, uint32_t uid, const uint8_t *current_password_handle, uint32_t current_password_handle_length, const uint8_t *current_password, uint32_t current_password_length, const uint8_t *desired_password, uint32_t desired_password_length, uint8_t **enrolled_password_handle, uint32_t *enrolled_password_handle_length) |
ユーザーが選択した PIN またはパスワードから派生する desired_password を、認証要素データの登録にのみ使用される認証要素の秘密鍵で登録します。
すでにパスワードが登録されている場合は、current_password_handle にそのパスワードを指定し、current_password に現在のパスワードを指定して、current_password_handle と照合する必要があります。
パラメータ:
- dev: gatekeeper_open の呼び出しによって取得された gatekeeper_device へのポインタ
- uid: Android ユーザー ID
- current_password_handle: ユーザーが置き換えたい、現在登録されているパスワード ハンドル。現在登録されているパスワードがない場合、null になることがあります。
- current_password_handle_length: current_password_handle が指すバッファの長さ(バイト単位)。current_password_handle が NULL の場合は 0 にする必要があります。
- current_password: ユーザーの現在のパスワード(プレーンテキスト)。提示された場合は、current_password_handle と照合する必要があります。
- current_password_length: current_password が指すバッファのサイズ(バイト単位)。current_password が NULL の場合は 0 にする必要があります。
- desired_password: ユーザーが登録する新しいパスワード(プレーンテキスト)。NULL にすることはできません。
- desired_password_length: desired_password が指すバッファの長さ(バイト単位)。
- enrolled_password_handle: 成功すると、desired_password で指定されたパスワードを参照する新しいパスワード ハンドルを使用してバッファが割り振られます。このバッファは、登録または確認の後の呼び出しで使用できます。このバッファの割り当て解除は、delete[] の呼び出しによって呼び出し元が行います。
- enrolled_password_handle_length: この関数によって割り振られ、*enrolled_password_handle_length によって参照されるバッファの長さ(バイト単位)へのポインタ。
戻り値:
- 成功した場合は 0
- エラーコード(失敗した場合は 0 未満)または
- タイムアウト値 T > 0(T ミリ秒が経過するまで呼び出しを再試行しない)。
エラーが発生すると、enrolled_password_handle は割り当てられません。
ファイル gatekeeper.h の 91 行 の定義。
int(* verify)(const struct gatekeeper_device *dev, uint32_t uid, uint64_t challenge, const uint8_t *enrolled_password_handle, uint32_t enrolled_password_handle_length, const uint8_t *provided_password, uint32_t provided_password_length, uint8_t **auth_token, uint32_t *auth_token_length, bool *request_reenroll) |
provided_password が enrolled_password_handle と一致することを検証します。
このモジュールの実装では、この呼び出しの結果を保持して、認証の直近性を証明できます。
成功すると、検証トークンのアドレスが auth_token に書き込まれます。これは、他の信頼できるサービスにパスワードの検証を証明するために使用できます。クライアントはこの値に NULL を渡す場合があります。
パラメータ:
- dev: gatekeeper_open の呼び出しによって取得された gatekeeper_device へのポインタ
- uid: Android ユーザー ID
- challenge: 認証対象のオプションのチャレンジ、または 0。別の認証システムがパスワードの確認をリクエストする場合や、トランザクション パスワード認証に使用されます。
- enrolled_password_handle: ユーザーが確認する現在登録されているパスワード ハンドル。
- enrolled_password_handle_length: enrolled_password_handle が指すバッファの長さ(バイト単位)
- provided_password: enrolled_password_handle と照合されるプレーンテキスト パスワード
- provided_password_length: provided_password が指すバッファの長さ(バイト単位)
- auth_token: 成功すると、この検証の結果として得られた認証トークンを含むバッファが *auth_token に割り当てられます。呼び出し元は、delete[] を呼び出してこのメモリの割り当てを解除する必要があります。
- auth_token_length: 成功すると、*auth_token に割り当てられた認証トークンの長さ(バイト単位)が *auth_token_length に割り当てられます。
- request_reenroll: バージョンの変更により確認済みのパスワードを再登録するよう上位レイヤにリクエストします。確認に失敗した場合は設定されません。
戻り値:
- 成功した場合は 0
- エラーコード(失敗した場合は 0 未満)または
- タイムアウト値 T > 0(T ミリ秒が経過するまで呼び出しを再試行しない)。エラーが発生すると、認証トークンは割り当てられません。
ファイル gatekeeper.h の 141 行 の定義。
この構造体のドキュメントは、次のファイルから生成されました。
- hardware/libhardware/include/hardware/ gatekeeper.h