Key*_*kar 7 android keychain android-contentresolver android-contentprovider android-security
我正在为企业环境制作一个应用程序框架,它涉及来自设备内存的两个或多个应用程序之间的数据共享.这些数据需要存储在设备上,并且只能由少数应用程序访问(可以通过用于安装它们的证书来识别).此外,它需要以安全的方式存储,以便其他第三方应用程序无法访问.哪种方法是实现此功能的最佳方式?
我已经阅读了有关ContentProviders和ContentResolvers的内容,根据我的理解,这只会促进此过程.数据的实际存储更重要.我还研究了Android 的Keychain API,它似乎最接近我需要实现的目标.
有没有办法将ContentProviders和ContentResolvers与Keychain API 集成?这是正确的方法吗?如果没有,实现同样的最佳方法是什么?此外,我还没有找到好的代码示例来完全理解Keychain API的功能.请帮忙!
编辑:
我也看过Keystore API.这内部使用Keychain API并在应用程序之间共享数据,应使用Keychain.虽然我无法找到有关如何使用Keychain API的相同或详细文档或API指南的代码示例.我正在寻找一个与iOS Keychain相当的android .
Android 5中也引入了称为托管配置文件的东西.这是实现我想做的正确方法吗?
您必须使用相同的声明您的应用程序sharedUserId,例如:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"\n package="com.mydomains.myapp"\n android:sharedUserId="com.mydomains.shared.user.id"\n android:sharedUserLabel="@string/appName">\nRun Code Online (Sandbox Code Playgroud)\n\n在这种情况下,存储在两个应用程序的私有存储中的所有数据将可供彼此使用(假设它们使用相同的签名进行签名)
\n\n正如阅读手册:
\n\n\n\nSharedUserId:将与其他应用程序共享的 Linux 用户 ID 的名称。默认情况下,Android 为每个应用程序分配其自己的唯一用户 ID。但是,如果两个或多个应用程序将此属性设置为相同\n 值,则它们都将共享相同的 ID \xe2\x80\x94\n,前提是它们也由同一证书签名。\n 具有相同的用户 ID 可以访问彼此的数据,并且如果需要,可以在同一进程中运行。
\n
| 归档时间: |
|
| 查看次数: |
2570 次 |
| 最近记录: |