请求具有保护级别=具有不匹配签名的签名的自定义权限?

时间:2014-12-18 02:04:14

标签: android security digital-signature

假设我有一个服务器应用程序声明了一个名为 com.testpackage.mypermission 的自定义权限,这需要启动 ServerActivity

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.testpackage.myserver"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk android:minSdkVersion="10" />
    <permission android:name="com.testpackage.mypermission" android:label="my_permission" android:protectionLevel="signature"></permission>

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >
        <activity
            android:permission="com.testpackage.mypermission"
            android:name=".ServerActivity"
            android:label="@string/app_name" >
        </activity>
    </application>

</manifest>

然后我有一个客户端应用程序在其清单中请求 com.testpackage.mypermission

<uses-permission android:name="com.testpackage.mypermission" />

我知道如果2个应用程序使用不同的证书进行签名,则由于protectionLevel = signature,客户端应用程序将无法启动 com.testpackage.myserver.ServerActivity

我的问题是:

  1. 如果已安装服务器应用程序,然后我想安装 客户端应用程序,那时是他们的签名?或者仅在运行时检查客户端应用程序中 startActivity(ServerActivity)
  2. 根据我的经验,Q.1的答案似乎只是运行时。这让我很困惑,因为在安装时会检查标准系统权限(例如 android.permission.CAMERA )。那么自定义权限和标准权限的处理方式也不同吗?
  3. 由于

0 个答案:

没有答案