MDM介绍

MDM全称是Mobile Device Management,顾名思义是移动设备管理,帮助企业将IT管理能力从传统的PC延伸到移动设备甚至移动应用App。要实现MDM,需要一个企业级的开发者账号(¥299/年),并且开通了mdm功能(需要提交苹果申请才能开通此功能)。

MDM主要可以实现以下功能:

  • 保证设备安全:远程锁定设备、远程擦除设备数据、远程修改设备密码等功能。
  • 应用分发:非越狱用户可以不通过AppStore下载应用程序。
  • 设备配置:管理员可以通过远程向iOS设备推送配置文件,配置设备的网络连接、网络安全和应用程序设置等。
  • 备份和恢复:可以将设备上的数据远程备份到指定的服务器上。

通过MDM,企业可以安全、有效地管理所有iOS设备,实现一个企业内部的AppStore。




MDM流程介绍


  1. MDM证书申请
  2. MDM服务器配置
  3. 将MDM服务器证书安装到iOS设备上
  4. 执行MDM命令

其中MDM证书申请是最复杂的一步,完成了证书申请基本上可以说成功了一半。本文主要介绍MDM证书申请,后续会持续更新。



MDM证书申请


MDM证书的申请主要分成两部分:vendor, customer。




一、MDM Vendor




1、成为一个MDM Vendor,需要在苹果开发者中心开通MDM功能,访问https://developer.apple.com/contact/submit.php。


苹果的承诺是一个工作日内处理完毕,处理好后会向你的邮箱发一封邮件,并在邮件中提供一些MDM相关的文档链接。申请成功后,则会在Protal的Add Certificate中多一个“MDM CSR”选项。




2、创建证书申请


打开钥匙串,点击“钥匙串访问 -> 证书助理 -> 从证书颁发机构请求证书”,创建一个CSR,将此CSR存储至磁盘。记住“Common Name”字段应该是私钥的名字,创建CRS时会同时创建一个私钥,这个私钥的名字(Common Name)会显示在钥匙串中。




3、导出私钥


在钥匙串中选择创建CSR时的私钥,导出为vendor.p12文件。导出时会要求你设置私钥密码。请记住这个密码。


注意,我们使用mdm_verdor_Sign.py(需要下载该脚本工具)对customer的csr进行签名,需要将私钥导出为pem格式(.key文件):


openssl pkcs12 -in vendor.p12 -nocerts -out vendor.key




4、提交CSR


登录Protal,进入Certificates -> All,点击Add Certificate(“+”按钮),选择Production下的“MDM CSR”。按照提示创建证书,最后点击Download,将得到一个mdm.er。




二、MDM Customer




1、创建一个CSR


使用钥匙串创建CSR,记住密钥对常用名称(便于导出)。导出CSR,文件名:MDMCustormer.csr。




2、从vendor获取编码的plist文件


customer将MDMCustomer.csr提交vendor。


剩下的事情由vendor进行,作为vendor,需要用mdm_vendor_sign_py脚本命令(mdmvendorsign-master.zip)对customer提交的customer.der进行签名。


执行命令:


python mdm_vendor_sign.py --csr MDMCustomer.csr --key 'vendor.key' --mdm mdm.cer


执行结果将生成一个plist_encoded文件。


注意,mdm_vendor_sign_py脚本只需要3个文件:customer的CSR、mdm私钥、mdm证书。




3、上传plist文件


用你的Apple ID登录https://identity.apple.com/pushcert/ ,点击“Create a Certificate”,上传plist文件。上传后会产生一个APNS证书,下载后得到一个.pem文件(为方便使用,改名为push_cer.pem)。双击.pem文件,将证书安装到钥匙串中。打开钥匙串,会看到一个名为”APSP:<uuid>“的证书。