使用显式意图的android进程间通信的安全性
Posted
技术标签:
【中文标题】使用显式意图的android进程间通信的安全性【英文标题】:Security in Inter process communication in android using explicit intents 【发布时间】:2016-09-08 07:34:28 【问题描述】:我正在开发一个 android 应用程序,我希望通过它将数据传递到我手机上的另一个应用程序。我已经能够使用明确的自定义意图来做到这一点。但我的问题是我想让这种通信安全,即我传递的数据应该只对那个特定的应用程序可用。为此,我尝试在两个应用程序中使用包名权限,如下所示:
<permission android:name="com.example.ex1.ex2" android:label="ex1" android:protectionLevel="signature" />
但我担心的是,使用相同的包名称任何其他应用程序仍然可以与我的应用程序交互并获取此数据。我的数据是安全的(信用卡详细信息等),因此我想确保除了我指定的目标应用程序之外,没有任何应用程序可以读取数据。我怎样才能做到这一点?任何帮助将不胜感激:)
【问题讨论】:
【参考方案1】:如果第二个应用程序是由您开发的,那么您必须拥有它的发布密钥签名。如果你有密钥库,你知道它是hash
您可以检查hash is correct。
但请注意 KitKat (API 19) 以下 Adroid 版本上的 bug
【讨论】:
这是一个非常有用的答案,它解决了我们遇到的确切问题。以上是关于使用显式意图的android进程间通信的安全性的主要内容,如果未能解决你的问题,请参考以下文章