java - 在 api 级别 14 之前使用钥匙串(keychain)

标签 java android android-keystore

我正在开发一个最低 API 版本为 10 和目标版本为 17 的 Android 应用程序。 我想使用 KeyChain,但在 ICS 之前不支持它。

有人可以针对这个问题提出类似的建议或解决方案吗?

非常感谢

最佳答案

你可以使用 SpongyCastle创建您自己的 keystore 。

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        KeyStore ks = null;
        try {
            ks = KeyStore.getInstance(KeyStore.getDefaultType());
            ks.load(null,null);

            // Add certs or keys

            ks.store(new FileOutputStream(new File(getFilesDir(),"out.bks")),"password".toCharArray());
        } catch (KeyStoreException e) {
            e.printStackTrace();
        } catch (CertificateException e) {
            e.printStackTrace();
        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    static {
        Security.insertProviderAt(new org.spongycastle.jce.provider.BouncyCastleProvider(), 1);
    }
}

关于java - 在 api 级别 14 之前使用钥匙串(keychain),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17366490/

相关文章:

java - 如何在 java 不兼容类型中为这个函数赋值

java - 如何使用 jtextfield 在 jcombo 框自动建议中接受小写和大写

Android keystore - 如果 root 为该用户设置了用户 key ,他可以检索用户 key 吗?

java - 如何格式化java文本编辑器项目中的文本?

android - 将参数传递给 gradle Exec 任务

Android 导航组件 - 实现监听器

android - 获取字符串资源的不​​同方式

android - INSTALL_FAILED_UPDATE_INCOMPATIBLE 当使用与以前相同的调试 keystore 时

android - 在新项目中使用现有的 keystore

java - 如果永久移动则获取新的 Url