某500强android学习资料-第九章-Android安全机制_第1页
某500强android学习资料-第九章-Android安全机制_第2页
某500强android学习资料-第九章-Android安全机制_第3页
某500强android学习资料-第九章-Android安全机制_第4页
某500强android学习资料-第九章-Android安全机制_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第九章Android安全访问机制Android进程系统,在这个系统中,应用程序(或者系统的部分)会在自己的进程机制对特定的进程的特定的操作进行限制,而"per-URIpermissions"可以对获取特定数据的9.1安全架构Android全架构中一个中心思想就是:应用程序在默认的情况下不可以执行任何对其他应用程序,系统或者用户带来负面影响的操作。这包括读或写用户的私有数据(如联系人数据一个应用程序的进程就是一个安全的沙盒。它不能干扰其它应用程序,除非显式地声明了“permissions”,以便它能够获取基本沙盒所不具备的额外的能力。它请求的这些权限禁止该权限。应用程序需要的那些“permissions”是静态的在程序中声明,所以他们会在程序安装时被知晓,并不会再改变。开发者保有的。该证书可以用以识别应用程序的作者。该证书也不需要CA签名认证(注:是使用self-signed证书(即自签名证书)。证书是用于在应用程序之间建立信任关系,而不9.2用户IDs和文件存取xIDge署的时候(并且请求了同一个sharedUserId)才会被分配同样的用户ID。所有存储在应用程序中的数据都会赋予一个属性——该应用程序的用户ID,这使得其他openFileOutput(String,int)或者openOrCreateDatabase(String,int,SQLiteDatabase.CursorFactory)来创建一个新文件时,你可以通过使用MODEWORLDREADABLEandorMODEWORLDWRITEABLE许/apk/res/android"package="com.Android.demo.a1"aredUserI/apk/res/android"packagecom.Android.demo.b1"aredUserIdcomc经登陆:friendContext=this.createPackageContext("com.android.demo.a1",Context,CONTEXT_IGNORE_SECURITY);9.3权限(permission)。条件使用该权限。为了执行你自己的权限,你必须首先在你的AndroidManifest.xml中使用一个或多个/apk/res/android"package="com.me.app.myapp">permissionandroidnamecommeapp.myapp.permission.DEADLY_ACTIVITY"oidlabelstringpermlabdeadlyActivityoiddescriptionstringpermdescdeadlyActivityroidpermissionGroupandroidpermissiongroupCOSTMONEYandroidprotectionLevel"dangerous"/>st9.4使用权限(uses-permission)应用需要的权限应当在users-permission属性中申请,所申请的权限应当被系统或某个应用第一种低级点的(permission的protectlevel属性为normal或者dangerous),其调用者第二种高级点的(permission的protectlevel属性为signature或者signatureorsystem),限。<manifestxmlns:android="/apk/res/android"package="com.android.app.myapp"><uses-permissionandroid:name="android.permission.RECEIVE_SMS"/>stpackageinstaller是通过检查该应用程序的签名来确定是否给予该程序request的权限。在用知用户尝试失败。1.在应用程序的AndroidManifest.xml中的manifest节点中插手Idandroiduidsystem3.使用mm命令来编译,生成的apk就有修改系统时间的职权范围了。2.使用eclipse编译出apk文件,但是这个apk文件是不能用的。platform.pk8input.apkoutput.apkonAndroid系统定义的权限可以在Manifest.permission中找到。任何一个程序都可以定义并强ns整的列表(即能有自定义的permissions)。当系统有来电的时候,用以阻止程序执行其它功能。在发送和接收广播的时候,去控制谁可以接收你的广播或谁可以发送广播给你。当进入并操作一个contentprovider的时候。当绑定或开始一个service的时候。9.6组件权限AndroidManifestxml用程序。所有的这些请求都包含在你所需要的组件中的android:permission属性,命名这个控制访问此组件。Activity权限(使用<activity>标签)限制能够启动与Activity权限相关联的组件或ContextstartActivityActivitystartActivityForResult期间检查;Service权限(应用<service>标签)限制启动、绑定或启动和绑定关联服务的组件或应用程序。此权限在Context.startService(),Context.stopService()和Context.bindService()BroadcastReceiver权限(应用<receiver>标签)限制能够为相关联的接收者发送广播的Context.sendBroadcast()以限制能够被允许接收广播的广播接收者对象一个权限(见下ContentProvider权限(使用<provider>标签)用于限制能够访问ContentProvider中的没有请求权限,那么会为调用抛出一个安全异常(SecurityException)。在所有这9.7发送广播时支持权限当发送一个广播时你能总指定一个请求权限,此权限除了权限执行外,其它能发送IntentceiverContextsendBroadcast9.8其它权限支持行呼叫,然后当该权限获批的时候可以返回给呼叫方一个Integer(没有获批也会返回一个Androidpermissions。如果你有另一个进程的pid,你就可以通过Context的方法Context.checkPermission(String,int,int)去针对那个pid去检查法PackageManager.checkPermission(String,String)来确定该package是否已经拥有了相应的9.9URI权限到目前为止我们讨论的标准的permission系统对于contentprovider来说是不够的。一个contentprovider可能想保护它的读写权限,而同时与它对应的直属客户端也需要将特定的URI传递给其它应用程序,以便其它应用程序对该URI进行操作。一个典型的例子就是邮I不会有访问附件的权利的,因为他不可能拥有所有的邮件的访问权限。missionactivityactivity返回结果的时候,呼叫方可以设置Intent.FLAG_GRANT_READ_URI_PERMISSION和/或允许一个通常的capability-style模型,这种模型是以用户交互(如打开一个附件,选择一个联系人)为驱动,特别获取fine-graine

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论