【问题标题】:How to generate KeyPair in android KeyStore, protected by custom password如何在 android KeyStore 中生成 KeyPair,受自定义密码保护
【发布时间】:2017-03-25 17:13:38
【问题描述】:

我的应用程序使用指纹和 4 位密码(可由用户在应用程序设置中设置,这不是系统密码/模式/密码)授权。

有了指纹一切都很好,我的密码有问题。

我想做的是:

  1. 让用户从应用设置中设置 pin
  2. 在密钥库中为某些受输入 pin 保护的别名生成密钥对(这样,没有此 pin 就无法访问私钥)
  3. 将公钥发送到服务器以供将来签名验证
  4. 从服务器获取用户令牌并将其存储在本地存储中

然后在授权期间:

  1. 请求用户输入密码
  2. 通过输入的密码检索私钥
  3. 从本地存储中检索令牌
  4. 使用第 6 步中的私钥签署令牌
  5. 将其与签名数据一起发送到服务器
  6. 验证服务器上的签名,如果签名有效,则为用户打开会话。

我的问题是:如何生成受用户输入的密码保护的密钥对

附:对于fingerprint,此逻辑由以下人员处理:

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

【问题讨论】:

  • 您好,您找到解决方案了吗?

标签: android keystore key-pair android-fingerprint-api


【解决方案1】:

我会建议尝试使用这个帖子Use the Android KeyStore to securely store arbitrary strings 帖子。

这篇文章涵盖了

  1. 在设备上生成、安全存储和检索加密密钥。

  2. 加密任意数据并将其保存在设备上。

  3. 访问和解密数据以供后续使用。

我希望它会有所帮助。

【讨论】:

    猜你喜欢
    • 2023-03-31
    • 2016-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-16
    • 1970-01-01
    • 2011-05-27
    相关资源
    最近更新 更多