我有一个使用AndroidKeystore的应用程序,我想在“ AndroidKeystore”中生成密钥,即使卸载该应用程序也可以永久保留该密钥。
我解释:如以下文档所述,我使用KeyStore.getInstance注册了KeyStore:https://developer.android.com/training/articles/keystore
keyStore = KeyStore.getInstance("AndroidKeystore");
keyStore.load(null);
创建与特定别名相关的密钥后。
if( keyStore.containsAlias(alias) ) return;
// Create new key if needed
KeyPairGenerator generator = KeyPairGenerator.getInstance(TYPE(), ANDROID_KEY_STORE);
generator.initialize(getAlgorithmParameterSpec(context,alias)); generator.generateKeyPair();
getAlgorithmParameterSpec方法返回一个AlgorithmParameterSpec,这是用于生成密钥的参数集。
我看到,如果我安装并重新安装我的应用程序。或者,如果我删除应用程序的缓存,则已使用具有相同别名值的keyStore.containsAlias(别名),然后返回false方法。
我想知道您是否可以在设备的KeyStore上永久保留一个密钥对,而该密钥对仍然保留在应用程序的卸载/重新安装过程中?