基于IOS平台MDM实践.ppt_第1页
基于IOS平台MDM实践.ppt_第2页
基于IOS平台MDM实践.ppt_第3页
基于IOS平台MDM实践.ppt_第4页
基于IOS平台MDM实践.ppt_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

IOS 平台上 MDM 开发,移动互联网行业,从事移动设备安全产品的研发工作。,技术网站:,2013-11-23,目录大纲,IOS平台MDM相关资料介绍,1、什么是 MDM ? Mobile Device Management(移动设备管理) 从设备注册、激活、使用、淘汰各个环节进行全面管理。 2、MDM如何兴起? 使用移动终端设备来处理日常,移动办公等事务,提升企业数据管理能力 3、MDM的发展前景怎样? MAM(Mobile Application Management ) 移动APP管理 MCM (Mobile Content Management ) 移动文档管理,IOS平台MDM相关资料介绍,4、IOS平台MDM开发前阅读(了解MDM) (1)、iPhone_MDM.pdf 5、IOS平台MDM开发参考的文档(非常重要) (1)、InsideAppleMDM_WP.pdf (2)、MobileDeviceManagementProtocol.pdf 6、其他参考文档(开发需要) (1)、相关网页.txt (2)、相关命令文件夹下的txt文档,苹果提供的MDM解决方案,1、Android平台MDM实现 Android 2.2 之后实现MDM功能。但是平台开源,各个厂商修改底层源码,很多功能都被手机厂商阉割,或者植入类似MDM功能APP(例如:小米的云服务) 2、IOS平台MDM能实现的功能 参见PDF:iPhone_MDM.pdf 我翻译的:MDM能实现的功能.doc 主要的三部分:Configure(设备配置)、Query(设备信息查询)、Manage(设备管控),苹果提供的MDM解决方案,3、IOS平台MDM开发需要做的工作 1、注册Apple企业者账号($299),并申请MDM Vendor; 2、申请https(SSL)证书或者自建证书; 3、搭建服务器https环境; 4、IOS端生成MDM推送p12格式证书和mobileconfig描述文件 5、了解代码RestFul架构及其风格(post、get、put、delete); 6、一定的linux操作命令或者window服务器配置操作技能(使用openssl) 7、掌握Apple提供的英文开发文档(最重要) 上面工作的参考文章网址在:相关网页.txt,理解InsideAppleMDM_WP.pdf,1、IOS设备安装mobileconfig文件并注册激活,MDM Server,IOS设备,步骤一,步骤一:下载 .mobilecofig文件,并授权安装 步骤二:设备执行check In的Authenticate和TokenUpdate(返回MDM需要的几个参数:Token、PushMagic、UnlockToken等),步骤二,理解InsideAppleMDM_WP.pdf,2、MDM执行控制基本流程,MDM Server,IOS设备,步骤一,备注:设备控制,例如:锁屏、解锁、清除数据等,每个步骤的解释详见下页,步骤二,步骤三,步骤四,步骤五,理解InsideAppleMDM_WP.pdf,2、MDM执行控制基本流程,步骤一:服务器发送一个MDM推送信息,告诉设备,服务器需要让你执行命令了。 说明:命令格式为“aps“:,“mdm“:“996ac527-9993-4a0a-8528-60b2b3c2f52b“, mdm的value为设备注册时返回的PushMagic。 步骤二:APNs通知设备。 步骤三:当设备空闲和在网时去连接MDM Server并告诉服务器状态。 步骤四:MDM Server根据设备状态返回给设备需要执行命令。 说明:命令式xml格式的plist文件。 步骤五:设备实行了命令,并将执行情况返回给MDM Server。 说明:返回状态为Acknowledged则执行成功,CommandFormatError、Error、NotNow 等即为除了问题。,理解InsideAppleMDM_WP.pdf,2、MDM执行控制基本流程,例如:当需要执行锁屏时,我们的步骤如下: 我们通过MDM Server发送一个MDM推送消息给Apns,同时,我们在服务器上记录一个锁屏的数据库记录,当设备收到Apns 的消息(通知栏不提示)后,会发送一个状态为Idle(设备空闲)通过Server Url通知MDM Server,来告诉MDM Server,现在设备空闲了,可以执行命令了,当MDM Server收到这样的状态后,根据数据库记录命令的先后顺序,找到那个执行锁屏的记录,并组装成一个xml格式的plist文件返回给设备;当设备执行完了命令后,会将执行的情况再次通过MDM Server的Server URL返回来,此时状态为:Acknowledged,那个这个状态就表示设备已经成功执行了锁屏命令。需要注意的是,每个命令发送的plist文件后又一个CommandUUID属性,这个属性是用来表示执行命令和返回的唯一性。,IOS平台的MDM方案Java实现,1、MDM Server提供mobileconfig文件下载,/* * 下载设备控制描述文件功能 * throws Exception */ GET Path(“/down/:deviceId“) public void downConfig() throws Exception /*业务参见源码*/ ,参见:MdmAction.java文件,注意mobileconfig文件需要通过的openssl签名。 签名详见:/命令相关/openssl对mobileconfig文件签名.txt,IOS平台的MDM方案Java实现,2、设备认证和上传Token等信息(Check In URL),/* * 设备认证和注册功能 * throws Exception */ PUT Path(“/checkin/:deviceId“) public void checkIn() throws Exception /*业务参见源码*/ ,参见:MdmAction.java文件,注意请求类型需要是PUT 注册认证返回数据:/命令相关/CheckIn返回.txt,IOS平台的MDM方案Java实现,3、通过APNs发送一个需要锁屏的请求(MDM push),/ * * 设备锁屏功能 * throws Exception */ GET Path(“/lock/:deviceId“) public void deviceLock() throws Exception *业务参见源码*/ ,命令类似:“aps“:,“mdm“:“996ac527-9993-4a0a-8528-60b2b3c2f52b“ apns推送是通过一个开源的java-apns程序发送的。,IOS平台的MDM方案Java实现,4、设备响应,发送真正的锁屏命令(Server URL),/*设备空闲状态,可以发送相关命令*/ if (info.contains(MdmUtils.Idle) /*执行命令*/ if (command.getCommand().equals(MdmUtils.Lock) /*组装锁屏命令的plist文件,并发送命令*/ /*注意有一个CommandUUID,便于获取返回数据类型判断*/ ,说明:当接收到状态为Idle表示设备空闲,那么就查询数据库,并组装命令执行。 锁屏命令参考:/命令相关/锁屏命令和其他命令.txt,IOS平台的MDM方案Java实现,5、设备执行命令,并返回执行情况,/*返回状态为Acknowledged,表示执行成功*/ if (info.contains(MdmUtils.Acknowledged) /*根据CommandUUID,记录命令执行情况*/ ,说明:当接收到状态为Idle表示设备空闲,那么就查询数据库,并组装命令执行。 返回数据参见:/命令相关/执行命令返回状态.txt,IOS平台的MDM方案Java实现,6、其他命令说明,我们目前涉及到的几个设备安全管理的几个命令: 锁屏、清除密码、清除设备数据 其请求及执行流程和锁屏时一致的。,MDM相关资料及源码提供,一、主要文档及代码: 1、InsideAppleMDM_WP.pdf 2、MobileDeviceManagementProtocol.pdf 3、参考代码(附件文件夹) 二、https证书参考: 1、edumdm证书相关(附件) 2、md

温馨提示

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

评论

0/150

提交评论