ios mdm资料总结

一 简述

mdm 是通过移动设备管理,目的就是让企业能够方便的管理 iPhone、Pad等移动设备。

二 业务场景介绍

当企业大量的使用移动设备办公或涉及到一些安全限制时设备管理的作用就能明显的体现出来,通过MDM IT人员门能够在企业环境下安全地注册设备,无线配置和更新设置,监督公司政策的遵守情况,还能远程擦除或锁定被管理的设备。例如(很多电子厂一线员工上班期间都不让带手机,害怕不法分子随便拍照泄露产品信息,如果此时引入MDM则可以再上班期间禁止员工的手机摄像头的应用,其他也不影响手机使用)。

三 功能介绍

安装和删除一个配置文件

获取已安装的描述文件列表

获取已安装的配置文件列表

获取已安装的证书列表

获取已安装的第三方的应用列表

应用的安装与删除

获取设备信息(UDID、Languages、DeviceID、BatteryLevel等)

获取安全相关的信息

设备锁屏、重启、关机、清除密码、数据擦除

获取已启用的约束列表

锁住、定位已丢失的设备

设备相关的设置管理、设备名称、壁纸、移动网络等

设置已安装的应用属性

获得可更新的系统的信息

安装一个文件或书籍

四 流程分析

MDM工作流程.jpg

三个端: 设备 ,apns, 自己搭建mdm 服务器,或者第三方的服务器

  • MDM服务器:

(1)与设备交互发送指令对设备进行管理,设备也会指令进行响应

(2)与apns交互唤醒设备连接mdm服务器,获取设置当前是否为空闲状态

  • APNs:可看作其他两者之间的信使,主要就是转发MDM服务器指令给设备,意思告诉设备开始去连接服务器啦。

  • 设备:首先通过Safari访问服务器安装一个配置描述文件(下文叙述)并登记注册使其成为受管理的设备,当收到APNs指令后,根据已安装的配置文件的url 连接MDM服务器并报告其状态,然后接受下一步命令比如命令DeviceInformation(查询设备信息如ModelName、BatteryLevel、WiFiMAC等),设备收到XML格式的指令后再向服务器传送其相关查询的信息,如果不需要继续发送指令,服务器关闭连接。

另外设备和MDM服务器之间数据传输都是以XML格式形式,以PUT请求的方式进行的,所以发送指令时,服务器要把指令封装成一个XML的文件同时要实现PUT请求相关操作处理。

五准备事项

tips: MDM中分为Vendor 和Customer两个角色,即服务商和用户。

1 开通mdm 服务的企业证书成为Vendor角色

描述:苹果文档解释可以直接电话联系开启mdm 服务无需付费,询问有开发过mdm 的人士不会对应以前发的包造成影响,具体可以在电话申请服务的时候在证实一下

2 生成mdm证书也即是一个apsp 的证书用于apsn的推送 详细的生成流程

http://esoftmobile.com/2015/03/23/ios-devices-mdm/

流程简述:

(1)钥匙串访问->证书助理->从证书颁发机构请求证书创建一个CSR

(2)苹果后台提交CSR 文件导出一个mdm.per 文件

(3) mdm.per 与CSR文件使用终端命令plist_encoded

(4) 上传plist_encoded 文件生成apsp 证书

3 生成mobileConfig 并签名交由mdm server 提供给用户下载安装 (moblieConfig 可以理解为一个xml 文件)

流程简述:
(1)iPhone配置实用工具生成mobileCofig

(2) 如果MDM服务器采用的是自签名的SSL证书,需要在描述文件的“凭证”中加入MDM服务器SSL对应的客户端证书(cer),如果有密码,填写对应证书的密

(3) 在“移动设备管理”中依次填入服务器URL、登记URL、主题、选择身份鉴定凭证,并设置MDM服务权限等。

注意:
(1)如果需要关联MoblieConfig 关联用户标识可能需要每次动态生成一个config 文件

(2)moblieConfig安装成功,设备是根据moblieConfig 文件主动请求登记URL发送首次注册相关的设备信息

(3)服务端推送设备,设备是根据moblieConfig 文件服务器URL主动请求服务端,来获取相关指令

4 一台mdm 服务器

描述:一台可以实现Https 的服务器

六 实现方案分析

DC8C3760-57EF-41C2-AF6E-79D0FCF7727D.png

给设置发送指令服务端可以参考 : https://www.jianshu.com/p/23ced86382d9

服务端 java demo 可以参考https://www.jianshu.com/p/23ced86382d9

1 java demo 简单分析

(1)DeviceController 在这个类集成所有发送指令的操作 ,

(2)MdmController 在这个类集成所有发送指令的操作 ,

(3)PushUtils 集成apns 推送功能

(4)MdmUtils集成发送指令xml

代码解析https://www.mbaike.net/mdm/14.html

感谢提供的资料https://www.jianshu.com/p/6112050ea31a
大神空空小僧
的指导

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,793评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,567评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,342评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,825评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,814评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,680评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,033评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,687评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,175评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,668评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,775评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,419评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,020评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,206评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,092评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,510评论 2 343