使用密钥库对2个android应用程序中的数据进行编码/解码

使用密钥库对2个android应用程序中的数据进行编码/解码,android,android-keystore,android-security,Android,Android Keystore,Android Security,我有两个应用程序,它们使用相同的密钥库进行签名 我不想在这些应用程序之间共享敏感数据 例如,我在应用程序a中加密一个字符串。将结果放入Context.MODE\u WORLD\u READABLE)SharedReferences中,然后在应用程序B中读取该数据并解密 这是合理的情况吗?或者我应该用其他方式来解决这个问题 我可以在应用程序A中创建密钥PAR,但如果我正确理解密钥库,那么应用程序B将对此一无所知?MODE\u WORLD.*在Android N上不再受支持。有什么建议吗?最佳实践?

我有两个应用程序,它们使用相同的密钥库进行签名

我不想在这些应用程序之间共享敏感数据

例如,我在应用程序a中加密一个字符串。将结果放入
Context.MODE\u WORLD\u READABLE)
SharedReferences
中,然后在应用程序B中读取该数据并解密

这是合理的情况吗?或者我应该用其他方式来解决这个问题


我可以在应用程序A中创建密钥PAR,但如果我正确理解密钥库,那么应用程序B将对此一无所知?

MODE\u WORLD.*
在Android N上不再受支持。有什么建议吗?最佳实践?理想情况下,它们只是一个应用程序。否则,使用一种可用的IPC机制(例如,服务、广播接收器、内容提供商)和自定义
签名
权限。这也是。但是将权限保护级别提高到签名可以解决这个问题吗?不。正如我链接到的白皮书中所描述的那样,问题是谁先定义了
,谁就赢了,他们可以在不通知用户的情况下持有权限。因此,在安装应用程序之前,他们可以将
签名
权限降级为
正常
,并保留该权限。在这种情况下,Android 5.0+将阻止安装您的应用程序,因为2+应用程序不能具有相同的
,除非它们由相同的密钥库签名。在此之前,您必须自己检测这种情况并警告用户。