一 簡(jiǎn)述
mdm 是通過(guò)移動(dòng)設(shè)備管理,目的就是讓企業(yè)能夠方便的管理 iPhone、Pad等移動(dòng)設(shè)備。
二 業(yè)務(wù)場(chǎng)景介紹
當(dāng)企業(yè)大量的使用移動(dòng)設(shè)備辦公或涉及到一些安全限制時(shí)設(shè)備管理的作用就能明顯的體現(xiàn)出來(lái),通過(guò)MDM IT人員門能夠在企業(yè)環(huán)境下安全地注冊(cè)設(shè)備,無(wú)線配置和更新設(shè)置,監(jiān)督公司政策的遵守情況,還能遠(yuǎn)程擦除或鎖定被管理的設(shè)備。例如(很多電子廠一線員工上班期間都不讓帶手機(jī),害怕不法分子隨便拍照泄露產(chǎn)品信息,如果此時(shí)引入MDM則可以再上班期間禁止員工的手機(jī)攝像頭的應(yīng)用,其他也不影響手機(jī)使用)。
三 功能介紹
安裝和刪除一個(gè)配置文件
獲取已安裝的描述文件列表
獲取已安裝的配置文件列表
獲取已安裝的證書列表
獲取已安裝的第三方的應(yīng)用列表
應(yīng)用的安裝與刪除
獲取設(shè)備信息(UDID、Languages、DeviceID、BatteryLevel等)
獲取安全相關(guān)的信息
設(shè)備鎖屏、重啟、關(guān)機(jī)、清除密碼、數(shù)據(jù)擦除
獲取已啟用的約束列表
鎖住、定位已丟失的設(shè)備
設(shè)備相關(guān)的設(shè)置管理、設(shè)備名稱、壁紙、移動(dòng)網(wǎng)絡(luò)等
設(shè)置已安裝的應(yīng)用屬性
獲得可更新的系統(tǒng)的信息
安裝一個(gè)文件或書籍
四 流程分析

三個(gè)端: 設(shè)備 ,apns, 自己搭建mdm 服務(wù)器,或者第三方的服務(wù)器
- MDM服務(wù)器:
(1)與設(shè)備交互發(fā)送指令對(duì)設(shè)備進(jìn)行管理,設(shè)備也會(huì)指令進(jìn)行響應(yīng)
(2)與apns交互喚醒設(shè)備連接mdm服務(wù)器,獲取設(shè)置當(dāng)前是否為空閑狀態(tài)
APNs:可看作其他兩者之間的信使,主要就是轉(zhuǎn)發(fā)MDM服務(wù)器指令給設(shè)備,意思告訴設(shè)備開(kāi)始去連接服務(wù)器啦。
設(shè)備:首先通過(guò)Safari訪問(wèn)服務(wù)器安裝一個(gè)配置描述文件(下文敘述)并登記注冊(cè)使其成為受管理的設(shè)備,當(dāng)收到APNs指令后,根據(jù)已安裝的配置文件的url 連接MDM服務(wù)器并報(bào)告其狀態(tài),然后接受下一步命令比如命令DeviceInformation(查詢?cè)O(shè)備信息如ModelName、BatteryLevel、WiFiMAC等),設(shè)備收到XML格式的指令后再向服務(wù)器傳送其相關(guān)查詢的信息,如果不需要繼續(xù)發(fā)送指令,服務(wù)器關(guān)閉連接。
另外設(shè)備和MDM服務(wù)器之間數(shù)據(jù)傳輸都是以XML格式形式,以PUT請(qǐng)求的方式進(jìn)行的,所以發(fā)送指令時(shí),服務(wù)器要把指令封裝成一個(gè)XML的文件同時(shí)要實(shí)現(xiàn)PUT請(qǐng)求相關(guān)操作處理。
五準(zhǔn)備事項(xiàng)
tips: MDM中分為Vendor 和Customer兩個(gè)角色,即服務(wù)商和用戶。
1 開(kāi)通mdm 服務(wù)的企業(yè)證書成為Vendor角色
描述:蘋果文檔解釋可以直接電話聯(lián)系開(kāi)啟mdm 服務(wù)無(wú)需付費(fèi),詢問(wèn)有開(kāi)發(fā)過(guò)mdm 的人士不會(huì)對(duì)應(yīng)以前發(fā)的包造成影響,具體可以在電話申請(qǐng)服務(wù)的時(shí)候在證實(shí)一下
2 生成mdm證書也即是一個(gè)apsp 的證書用于apsn的推送 詳細(xì)的生成流程
http://esoftmobile.com/2015/03/23/ios-devices-mdm/
流程簡(jiǎn)述:
(1)鑰匙串訪問(wèn)->證書助理->從證書頒發(fā)機(jī)構(gòu)請(qǐng)求證書創(chuàng)建一個(gè)CSR
(2)蘋果后臺(tái)提交CSR 文件導(dǎo)出一個(gè)mdm.per 文件
(3) mdm.per 與CSR文件使用終端命令plist_encoded
(4) 上傳plist_encoded 文件生成apsp 證書
3 生成mobileConfig 并簽名交由mdm server 提供給用戶下載安裝 (moblieConfig 可以理解為一個(gè)xml 文件)
流程簡(jiǎn)述:
(1)iPhone配置實(shí)用工具生成mobileCofig
(2) 如果MDM服務(wù)器采用的是自簽名的SSL證書,需要在描述文件的“憑證”中加入MDM服務(wù)器SSL對(duì)應(yīng)的客戶端證書(cer),如果有密碼,填寫對(duì)應(yīng)證書的密
(3) 在“移動(dòng)設(shè)備管理”中依次填入服務(wù)器URL、登記URL、主題、選擇身份鑒定憑證,并設(shè)置MDM服務(wù)權(quán)限等。
注意:
(1)如果需要關(guān)聯(lián)MoblieConfig 關(guān)聯(lián)用戶標(biāo)識(shí)可能需要每次動(dòng)態(tài)生成一個(gè)config 文件
(2)moblieConfig安裝成功,設(shè)備是根據(jù)moblieConfig 文件主動(dòng)請(qǐng)求登記URL發(fā)送首次注冊(cè)相關(guān)的設(shè)備信息
(3)服務(wù)端推送設(shè)備,設(shè)備是根據(jù)moblieConfig 文件服務(wù)器URL主動(dòng)請(qǐng)求服務(wù)端,來(lái)獲取相關(guān)指令
4 一臺(tái)mdm 服務(wù)器
描述:一臺(tái)可以實(shí)現(xiàn)Https 的服務(wù)器
六 實(shí)現(xiàn)方案分析

給設(shè)置發(fā)送指令服務(wù)端可以參考 : http://www.itdecent.cn/p/23ced86382d9
服務(wù)端 java demo 可以參考http://www.itdecent.cn/p/23ced86382d9
1 java demo 簡(jiǎn)單分析
(1)DeviceController 在這個(gè)類集成所有發(fā)送指令的操作 ,
(2)MdmController 在這個(gè)類集成所有發(fā)送指令的操作 ,
(3)PushUtils 集成apns 推送功能
(4)MdmUtils集成發(fā)送指令xml
代碼解析https://www.mbaike.net/mdm/14.html
感謝提供的資料http://www.itdecent.cn/p/6112050ea31a
大神空空小僧
的指導(dǎo)