Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 请求具有保护级别=签名不匹配的自定义权限?_Android_Security_Digital Signature - Fatal编程技术网

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

Android 请求具有保护级别=签名不匹配的自定义权限?,android,security,digital-signature,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:versio

假设我有一个服务器应用程序,它声明了一个名为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" />

我知道如果这两个应用程序使用不同的证书签名,客户端应用程序将无法启动com.testpackage.myserver.ServerActivity,因为protectionLevel=signature

我的问题是:

  • 如果服务器应用程序已经安装,然后我想安装 客户端应用程序,他们的签名在那一刻被检查了吗?或者,只有在运行时,当您在客户端应用程序中执行startActivity(ServerActivity)时,才检查它
  • 根据我的经验,问题1的答案似乎只是运行时。这让我很困惑,因为标准的系统权限(例如android.permission.CAMERA)是在安装时检查的。那么,自定义权限和标准权限的处理方式是否有所不同
  • 谢谢