删除应用后保留秘密数据?

时间:2018-03-27 06:39:40

标签: android keystore

我尝试使用KeyStore来保存一些秘密。但是从Android设备中删除了应用程序之后,密钥对也从设备中删除了。

有没有什么方法可以保存密钥对已删除应用程序。我仍然需要密钥对的原因是:如果用户重新安装应用程序,密钥对仍然存在并保持不变。

1 个答案:

答案 0 :(得分:0)

当您需要系统范围的凭据时,可以在Android KeyChain中存储凭据。即使您卸载了应用程序,您的密钥仍将保留在KeyChain中。请参阅KeyChainChoosing Between a Keychain or the Android Keystore Provider

  

KeyChain类提供对凭证存储中私钥及其相应证书链的访问。

     

...

     

应用程序可以通过createInstallIntent()提供的Intent请求安装私钥和证书。通过此Intent安装的私钥可通过choosePrivateKeyAlias(Activity, KeyChainAliasCallback, String[], Principal[], Uri, String)访问,而所有应用程序将通过默认X509TrustManager信任证书颁发机构(CA)证书。

另一种方法是将密钥对存储在本地文件中,并使用用户请求的密码对其进行加密。

您也可以在服务器上以这种方式存储它,但始终是加密的,这样服务器就无法访问用户的密钥