2016-11-11 96 views
3

我有使用指紋和4位數字引腳(可以由用戶在應用程序設置中,這不是系統引腳/模式/密碼)授權的應用程序。如何在Android KeyStore中生成KeyPair,受自定義密碼保護

隨着指紋一切都很好,我有問題針。

我試圖做的是:從應用程序設置

  1. 讓用戶設置引腳
  2. 生成密鑰對密鑰庫中通過輸入的PIN保護的一些別名(這樣私鑰不能沒有訪問該引腳)
  3. 從服務器發送公鑰服務器,用於未來的簽名驗證
  4. 獲取用戶令牌,並將其存儲在本地存儲
授權期間

然後:

  • 請求用戶輸入銷
  • 檢索由輸入引腳
  • 私鑰從本地存儲裝置檢索令牌私鑰
  • 註冊令牌從步驟6開始
  • 將其發送到帶有簽名數據的服務器
  • 驗證服務器上的簽名,如果有效,則爲用戶打開會話。
  • 我的問題是:我怎樣才能生成密鑰對由PIN保護用戶

    附:進入對於fingerprint這個邏輯被處理:

    KeyGenParameterSpec.Builder(KEY_NAME, KeyProperties.PURPOSE_SIGN).setUserAuthenticationRequired(true) 
    

    回答

    0

    我會建議嘗試使用這個職位Use the Android KeyStore to securely store arbitrary strings崗位。

    這篇文章已經覆蓋點作爲

    1. 生成,安全存儲和檢索設備上的加密密鑰。

    2. 加密任意數據並將其保存在設備上。

    3. 訪問和解密數據以備後用。

    我希望這會有所幫助。