2

为了防止恶意应用程序访问内容提供者,一种方法是设置 android:protectionLevel="signature"。

这样,只有使用相同签名的另一个应用程序才能访问内容提供者的内容。

但它安全吗?它如何检查签名?例如,我有一个签名的应用程序 A,签名是否存储在某个地方供另一个应用程序检查?

或者检查是由另一种机制完成的?

4

1 回答 1

0

根据 Android 开发者指南。

仅当请求应用程序使用与声明该权限的应用程序相同的证书签名时,系统才会授予该权限。如果证书匹配,系统会自动授予权限,无需通知用户或请求用户明确批准。

要伪造签名,您需要知道用于签署应用程序的私钥。所以现在很安全(特别是如果你相信 P != NP :) )。

于 2014-06-07T20:18:55.950 回答