签名保护级别 - 澄清

NVa*_*hev 15 android android-permissions

由于我是Android的新手,我想问一些对我来说不够清楚的事情.我阅读了关于权限的API指南作为考虑这个主题的更多问答,但是,我不确定我是否正确理解它.因此,签名保护级别为:

仅当请求的应用程序使用与声明权限的应用程序相同的证书进行签名时系统授予的权限.如果证书匹配,系统将自动授予权限,而不通知用户或要求用户明确批准.

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

Com*_*are 23

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

一般来说,是的.

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

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

但是,如果编写的应用程序A使用signature级别权限(例如,自定义权限)进行自我保护,并且编写的应用程序B想要与应用程序A的防御部分进行通信,则可以执行此操作,如果您要签署应用程序A和App B具有相同的签名密钥.

  • 你能举例说明吗 (2认同)