Gatekeeper_device 構造体のリファレンス
#include < gatekeeper.h >
データフィールド | |
hw_device_t | 一般 |
int(* | ) (const struct Gatekeeper_device *dev, uint32_t uid, const uint8_t *current_password_handle, uint32_t current_password_handle_length, const uint8_t *enroll_password, uint32_t current_password_length, const uint8_t *desired_password, uint32_tdesired_password_length, uint8_t **enrolled_pass word_handle、uint32_t *enrolled_password_handle_length) |
int(* | verify )(const struct Gatekeeper_device *dev, uint32_t uid, uint64_tChallenge, 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行目の定義。
フィールドドキュメント
ゲートキーパーデバイスの一般的なメソッド。上と同様、これは 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_tdesired_password_length, uint8_t **enroll ed_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 ユーザー識別子
- 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 が指すバッファーのバイト単位の長さ。
- registered_password_handle: 成功すると、desired_password で指定されたパスワードを参照する新しいパスワード ハンドルがバッファに割り当てられます。このバッファは、登録または検証のための後続の呼び出しで使用できます。呼び出し元は、delete[] の呼び出しを通じてこのバッファの割り当てを解除する必要があります。
- enrolled_password_handle_length: この関数によって割り当てられ、*enrolled_password_handle_length によってポイントされるバッファーのバイト単位の長さへのポインター。
戻り値:
- 成功時は0
- 失敗した場合のエラー コード < 0、または
- T ミリ秒が経過するまで呼び出しを再試行しない場合のタイムアウト値 T > 0。
エラーが発生した場合、enrolled_password_handle は割り当てられません。
ファイルGatekeeper.hの91行目の定義。
int(* verify)(const struct Gatekeeper_device *dev, uint32_t uid, uint64_tChallenge, 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 ユーザー識別子
- チャレンジ: 認証するためのオプションのチャレンジ、または 0。別の認証システムがパスワード検証を要求する場合、またはトランザクション パスワード認証に使用されます。
- registered_password_handle: ユーザーが検証したい現在登録されているパスワード ハンドル。
- registered_password_handle_length:enrolled_password_handle が指すバッファーの長さ (バイト単位)
- provided_password: registered_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 ミリ秒が経過するまで呼び出しを再試行しない場合のタイムアウト値 T > 0。エラーが発生した場合、認証トークンは割り当てられません
ファイルGatekeeper.hの141行目の定義。
この構造体のドキュメントは次のファイルから生成されました。
- hardware/libhardware/include/hardware/ gatekeeper.h