gpt4 book ai didi

android - 将 KeyPairGeneratorSpec 用于 Android API 级别 < 18?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:45:08 29 4
gpt4 key购买 nike

我想将 secret 数据存储在我的应用程序的私有(private) keystore 中。

但是,当我编写代码来执行此操作时,Android Studio 警告说 KeyPairGeneratorSpec.Builder(context) 需要 API 级别 18,我的目标是至少 14。 :-(

如何在适用于 Android API 级别 14 到 17 的应用中存储 secret 数据?

最佳答案

如您所见,通常由硬件支持(但不一定如此)的 AndroidKeyStore 已在 API 级别 18 中正式引入,并在此处进行了描述:http://developer.android.com/training/articles/keystore.html

Nikolay Elenkov 编写了一个不错的小应用程序来测试 AndroidKeyStore,您可以在这里找到它:https://github.com/nelenkov/android-keystore

如果您深入研究 AOSP,可以使用一些技巧让它在 API 级别 17 上正常工作,但不能保证它在所有设备上都能正常工作,所以它有点毫无意义。在那之前你肯定不会让它在任何事情上工作。

实际上没有必要使用 AndroidKeyStore 来存储您的私钥,除非您对安全性非常偏执并要求它由硬件支持或在隔离进程中(非硬件支持设备上的 keystore 进程)。

如果您自己在您的应用程序中生成 key 对并将其保存在您的数据区域的 keystore 文件中,则其他 Android 应用程序将无法读取您的 key ,这对大多数应用程序来说足够安全。您甚至可以允许用户使用他们选择的密码来保护 keystore 。

可以在此处找到有关在使用 Java 和 Android 的软件中生成 key 对的一些有用信息:

Android RSA Keypair Generation - Should I use Standard Java/Bouncy Castle/Spongy Castle/JSch/Other?

JAVA: How to save a private key in a pem file with password protection

https://docs.oracle.com/javase/7/docs/api/java/security/KeyStore.html

关于android - 将 KeyPairGeneratorSpec 用于 Android API 级别 < 18?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28905539/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com