2011-02-28 116 views
1

我想编写一个使用RSA加密/解密字符串的应用程序。我以前使用openssl创建了RSA密钥对并将其转换为DER。现在,我想从我的android应用程序中读取这些密钥:在android中存储RSA密钥对

我应该在哪里存储它们?

谢谢

+0

请点击下面链接查看你的问题的回答“存储RSA密钥” http://stackoverflow.com/questions/9890313/how-to-use-keystore-in-java-to-store-private-键 – Arpana 2014-01-14 18:02:51

回答

1

您的应用程序可以在两个地方存储状态:SD卡;和应用程序自己的私人存储空间。

SD卡是完全公开的,每个人都可以访问(和修改)那里的文件。

你的应用程序的私有数据目录是应该是安全的,因为只有你的应用程序(和您的应用程序信任的其他应用程序)可以访问它,但如果手机一直扎根实践中是微不足道的文件复制出来的它。

请参阅Context文档中的openFile *()和openOrCreateDatabase()方法以访问您的私有数据目录。

+0

因此,如果我将它们存储在res/raw – Ullfoll 2011-03-01 18:11:02

+0

res不是真正的文件系统---它只是代表.apk文件中的只读文件。如果你要求系统在那里打开一个文件,它会为你自动提取它。当然,因为.apk只是一个zip文件,这意味着* everyone可以获得您的加密密钥... – 2011-03-02 11:55:33

+0

三个地方 - 应用程序还可以在Settings应用程序中存储状态。 – 2011-10-07 21:57:59