签名保护级别 - 澄清

时间:2014-01-29 17:19:59

标签: android android-permissions

由于我是Android的新手,我想问一些对我来说不够清楚的事情。关于权限,我阅读了API guide关于权限的问题,考虑到这个主题,我仍然不确定我是否理解正确。因此,签名保护级别为:

  

系统仅在请求的应用程序授予的权限   使用与声明的应用程序相同的证书进行签名   许可。如果证书匹配,则系统自动进行   在不通知用户或要求用户的情况下授予许可   用户的明确批准。

这是否意味着我无法使用'签名'保护级别,所以除了正在开发它的团队之外,任何人都无法使用Android API中定义的具有此类保护级别的所有权限吗?

1 个答案:

答案 0 :(得分:19)

  

这是否意味着我无法使用具有“签名”保护级别的任何权限,因此除了正在开发它的团队之外,任何人都无法使用Android API中定义的具有此类保护级别的所有权限?

一般来说,是的。

更具体地说,signature级别权限意味着应用程序使用该权限进行自我保护(例如,通过android:permission属性)并且应用程序尝试与需要权限的第一个应用程序进行通信( <uses-permission>元素必须使用相同的签名密钥签名。

如果应用程序防御本身是设备固件的一部分,或者是操作系统本身,则只有通过与该固件相同的签名密钥签名的应用程序才能通过持有权限与防御应用程序通信。

但是,如果编写的应用A使用signature级别权限(例如,自定义权限)进行自我保护,并且编写应用B如果您使用相同的签名密钥对App A和App B进行签名,则可以与App A的防御部分进行通信。