gateway_device 結構參考
gateway_device 結構參考
#include < gatekeeper.h >
資料欄位 | |
硬體設備_t | 常見的 |
整數(* | enroll )(const struct gatewaykeeper_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 tdesired_password_length, uint8_t **enrolled_password _handle, uint32_t *enrolled_password_handle_length) |
整數(* | 驗證)(常數結構gatekeeper_device * dev,uint32_t uid,uint64_t挑戰,const uint8_t * enrolled_password_handle,uint32_t enrolled_pa4ssword_handle_ssword_handle,uint32_t enrolled_pasidword_handle_length,const uint8_t_provided uint,ssword_handle_length,const uint8_t_provided uth_token,uint32_t * auth_token_length,bo ol *request_reenroll) |
整數(* | delete_user )(const struct gateway_device *dev,uint32_t uid) |
整數(* | delete_all_users )(const struct gateway_device *dev) |
詳細說明
定義位於檔案gatewaykeeper.h的第41行。
現場文檔
網守設備的常用方法。如上所述,這必須是 keymaster_device 的第一個成員。
定義位於檔案gatewaykeeper.h的第46行。
int(*delete_all_users)(const struct gateway_device *dev) |
定義位於檔案gatewaykeeper.h的第173行。
int(*delete_user)(const struct gateway_device *dev, uint32_t uid) |
定義位於檔案gatewaykeeper.h的第159行。
int(* enroll)(const struct gateway_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; tdesired_password_length, uint8_t **已註冊_ password_handle,uint32_t *enrolled_password_handle_length) |
註冊期望的密碼,該密碼應從使用者選擇的 PIN 或密碼派生,其中身份驗證因素私鑰僅用於註冊身份驗證因素資料。
如果已經註冊了密碼,則應在 current_password_handle 中提供該密碼,並在 current_password 中提供應根據 current_password_handle 進行驗證的當前密碼。
參數:
- dev:透過呼叫gatekeeper_open取得的指向gatekeeper_device的指針
- uid:Android用戶標識符
- current_password_handle:使用者想要替換的目前註冊密碼句柄。如果目前沒有註冊密碼,則可能為空。
- 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 毫秒過去之前不應重新嘗試調用,則逾時值 T > 0。
出錯時,將不會分配enrolled_password_handle。
定義位於檔案gatewaykeeper.h第91行。
int(* verify)(const struct gateway_device *dev, uint32_t uid, uint64_tchallenge, const uint8_t *enrolled_password_handle, uint32_t enrolled_pang_pword_handle_lessword_handle, uint32_t enrolled_pang_pword_handle_lessword_handle, uint32_t enrolled_pakword_handle_lessword_handle, 88384848 月_let, 30le_le), 8,84844t4). th, uint8_t **auth_token, uint32_t *auth_token_長度,布林*request_reenroll) |
驗證provided_password與enrolled_password_handle相符。
此模組的實作可以保留該呼叫的結果以證明身份驗證的新近性。
成功後,將驗證令牌的位址寫入 auth_token,可用於向其他受信任的服務證明密碼驗證。客戶端可以為此值傳遞 NULL。
參數:
- dev:透過呼叫gatekeeper_open取得的指向gatekeeper_device的指針
- uid:Android用戶標識符
- 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 毫秒過去之前不應重新嘗試調用,則逾時值 T > 0。出錯時,將不會分配身份驗證令牌
定義位於檔案gatewaykeeper.h的第141行。
該結構的文檔是從以下文件產生的: