一、準備
1、首先你要有一個 APNS 證書。
此步驟中需要注意的是 MDM Vendor 資格的獲得。默認情況下,299美元的企業開發賬號是沒有 MDM Vendor 權限的,需要你向蘋果申請(網站申請或者發郵件)。
2、還需要有一個 https 服務器。
此步驟中需要注意的是 SSL 證書的獲得。自簽名的 SSL 證書在 tomcat 上部署 https 服務。
值得注意的是,在 Eclipse 中運行的 tomcat 服務器和單獨使用 startup.sh 腳本啟動的 tomcat 服務器采用的不是同一套配置文件。如果你為tomcat 配置了 https 服務,還需要在 eclipse 中再配一次,否則 Eclipse 中運行的 tomcat 不會啟動 https 服務。其server.xml 在 eclipse 的 Servers 項目下面還有一個拷貝。
3、能夠編寫一點點Java代碼
本例的 MDM Server 是用 Java 實現的,需要寫一點點簡單的 Java 代碼。但重點根本不在這里,MDM 實現的難點是證書及配置描述文件的配置,而不是代碼。
二、MDM 配置描述文件
首先需要一個 MDM 配置描述文件,此文件用于安裝到設備上,使其向 MDM 服務器注冊為受管理的設備。
1、憑證
用 IPCU 新建一個配置描述文件,在“憑證”欄,創建新憑證。
1)點擊“+”,將 CA 根證書添加到憑證中。
2)再次點擊“+”,將私鑰(.p12)添加到憑證中。
也就是說,在“憑證”中需要加入兩個證書:根證書(自簽名CA證書)和 MDM customer p12 證書(即 customer 在制作 certificate signingrequest 時生成的密鑰對,將其從鑰匙串中導出)。
根證書用于訪問使用了自簽名證書的 https 服務器(即后邊配置的“服務器 URL”和“登記 URL”的https服務)。
而 p12 證書用于簽名移動設備管理playload 。同時你要輸入 p12 證書密碼,否則安裝配置描述文檔時,中間會彈出一個對話框要你輸入密碼。
這些證書會在設備安裝配置描述文件時自動安裝到設備中。你可以利用這一點向設備安裝多個根證書。例如:服務器 URL 中使用了一個https服務器,而登記 URL 中又使用了另一個不同的https服務器。這樣設備在訪問這些SSL 服務器時,不會要求下載客戶端證書。
2、“移動設備管理”
“移動設備管理”頁,需要配置如下項目:
1)服務器 URL:
填寫你的 MDM 服務器地址,該 URL 用于與iOS設備通信,即發送 MDM 指令。
2)登記 URL:
填寫設備注冊地址,該 URL 用于設備注冊。可以與服務器URL不同。
3)主題:
這個是 APNS 推送證書在鑰匙串中的“用戶 ID”字段復制粘貼過來的,如:
com.apple.mgmt.External.78d92bb8-ed86-4735-ba0c-e1154efed9a9
4)身份:
從下拉列表中選擇一個有效的“憑證”。即前面我們在“憑證”添加的私鑰。
5)訪問權限
權限列表中包含“在設備中查詢”、“添加/刪除”、“安全性”等各項權限,你可以全部勾上,但是對于“使用開發 APNS 服務器”需要特別注意。這個是使用測試APNS 服務器(gateway.sandbox.push.apple.com)推送。對于MDM,一般不要勾選此項, 我們使用 production 服務器。
3、SCEP
如果你準備使用 SCEP,可在此填寫入 SCEP 服務器 URL 和示例名稱。如果你不準備實現 SCEP,請保持此項為“尚未配置”,否則描述文件不能通過驗證。
4、MDM Push 證書更新
描述文件是由 MDM customer 來制作的。作為 customer,MDM Push 證書、Profile 描述文件和 customerCSR 密鑰對是綁定的。也就是說,當你重新請求 MDM Push 證書時,必須重新制作Profile描述文件。這樣,服務器上的 MDM Push 證書和客戶端的配置描述文件必須同步更新。否則,MDM服務器上的消息將無法推送到客戶端。