iOS設(shè)備MDM開發(fā)流程證書相關(guān)

iOS設(shè)備MDM開發(fā)流程證書相關(guān)
** TracyYih 發(fā)表于
2015-03-23 18:08

** MDM, iOS

申請Vendor
申請成為MDM Vendor
首先需要擁有一個 iOS Developer Enterprise Program 帳號;
申請成為MDM Vendor,iOS企業(yè)開發(fā)帳號默認(rèn)不支持MDM功能,需要向蘋果申請才能開通,訪問https://developer.apple.com/contact/submit.php,并通過iOS企業(yè)開發(fā)帳號Agent身份登錄,提交申請說明希望成為MDM Vendor,蘋果一般在一個工作日內(nèi)會處理完畢,處理完后會給Agent發(fā)郵件通知,此時再次登錄到開發(fā)中心Add iOS Certificate界面或多處一個“MDM SCR”選項(xiàng)。

申請證書
在OS X上打開鑰匙串,點(diǎn)擊“鑰匙串訪問->證書助理->從證書頒發(fā)機(jī)構(gòu)請求證書”,創(chuàng)建一個CSR,將此CSR存儲至磁盤。記住“常用名稱”字段為私鑰的名字,創(chuàng)建CSR的同時,鑰匙串“密鑰”欄中會增加一個以該常用名稱為名的私鑰。
在鑰匙串中選擇創(chuàng)建CSR時的私鑰,導(dǎo)出為MDMVendor.p12文件,導(dǎo)出時會要求你設(shè)置私鑰密碼,如果設(shè)置密碼請記住這個密碼(后面會用到)。
登錄iOS Developer Center,進(jìn)入Certificates,點(diǎn)擊Add Certificate(“+”按鈕),選擇Production下面的“MDM SCR”。
[圖片上傳中。。。(1)]
點(diǎn)擊Continue->Continue,上傳之前創(chuàng)建的CSR文件,然后點(diǎn)擊Generate。點(diǎn)擊Download,得到一個mdm.cer證書。

申請MDM Customer
創(chuàng)建CSR
使用鑰匙串創(chuàng)建一個CSR,記住密鑰的常用名稱,導(dǎo)出CSR,命名為MDMCustomer.csr。

獲取編碼的Plist文件
1

python mdm_verdor_sign.py --csr MDMCustomer.csr -key 'MDMVendor.key' --mdm mdm.cer

MDMCustomer.csr提交給Vendor,Vendor對Customer提交的MDMCustomer.csr進(jìn)行簽名。我們使用mdm_vendor_sign.py 工具簽名:執(zhí)行完后會生成一個plist_encoded文件。

獲取MDM推送證書
用iOS企業(yè)開發(fā)帳號的Apple ID登錄 Apple Push Certificates Portal,選擇“Create a Certificate”,上傳之前的plist_encoded文件。上傳后會生成一個APNS的證書,下載得到.pem文件,雙擊文件安裝到鑰匙串。打開鑰匙串可查看該證書名為“APSP:xxx”:


該證書即為MDM指令推送證書,可根據(jù)服務(wù)端需求導(dǎo)出p12或cer格式提供給服務(wù)端開發(fā)人員。

配置 MDM Enrollment Profile
接下來需要生成一個MDM Enrollment Profile配置文件安裝到目標(biāo)iOS設(shè)備,之后MDM服務(wù)器就可以通過APNs發(fā)送指令到目標(biāo)設(shè)備進(jìn)行設(shè)備管理。
使用iPhone Configuration Utility生成MDM Enrollment Profile
iPhone Configuration Utility (IPCU中文名:iPhone配置實(shí)用工具)是蘋果提供的專門用戶制作iOS配置文件的工具。
iPhone Configuration Utility 貌似已經(jīng)別蘋果拋棄了,替代工具可以使用 OS X Server 或直接用文章后面附的 xml 格式修改。

a. 在IPCU中點(diǎn)擊“新建”,創(chuàng)建一個描述文件,在“通用”中填寫名稱、標(biāo)識符、機(jī)構(gòu)、描述、安全性等。


b. 如果MDM服務(wù)器采用的是自簽名的SSL證書,需要在描述文件的“憑證”中加入MDM服務(wù)器SSL對應(yīng)的客戶端證書(p12或cer),如果有密碼,填寫對應(yīng)證書的密碼。

c. 在“移動設(shè)備管理”中依次填入服務(wù)器URL、登記URL、主題、選擇身份鑒定憑證,并設(shè)置MDM服務(wù)權(quán)限等。
[圖片上傳中。。。(5)]
其中服務(wù)器URL為MDM服務(wù)器主服務(wù)地址,用于設(shè)備對MDM服務(wù)器指令的反饋;登記URL為設(shè)備MDM注冊、注銷等消息調(diào)用地址;主題為MDM推送證書APSP的用戶ID;身份鑒定為MDM服務(wù)器SSL客戶端證書

MDM Enrollment Profile格式參考

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PayloadContent</key>
<array>
<dict>
<key>AccessRights</key>
<integer>8191</integer>
<key>CheckInURL</key>
<string>[CheckIn URL,必須為HTTPS]</string>
<key>CheckOutWhenRemoved</key>
<true/>
<key>IdentityCertificateUUID</key>
<string>A1A4B9B4-D575-4B86-9CB2-1ECAEC947154</string>
<key>PayloadDescription</key>
<string>配置“移動設(shè)備管理”</string>
<key>PayloadDisplayName</key>
<string>移動設(shè)備管理</string>
<key>PayloadIdentifier</key>
<string>com.xxx.mdm.mdm</string>
<key>PayloadOrganization</key>
<string>[Organization Name]</string>
<key>PayloadType</key>
<string>com.apple.mdm</string>
<key>PayloadUUID</key>
<string>4DBD3BA6-0941-4EE6-99FD-7E2C82E95B5D</string>
<key>PayloadVersion</key>
<integer>1</integer>
<key>ServerURL</key>
<string>[Server URL,必須為HTTPS]</string>
<key>SignMessage</key>
<true/>
<key>Topic</key>
<string>com.apple.mgmt.External.97eb479e-5ad1-4bcb-bc9a-ac7fe2a8e7c0</string>
</dict>
<dict>
<key>Password</key>
<string>[SSL證書密碼]</string>
<key>PayloadCertificateFileName</key>
<string>client.p12</string>
<key>PayloadContent</key>
<data>
[...base64 格式證書...]
</data>
<key>PayloadDescription</key>
<string>提供設(shè)備鑒定(證書或身份)。</string>
<key>PayloadDisplayName</key>
<string>client.p12</string>
<key>PayloadIdentifier</key>
<string>com.xxx.mdm.憑證</string>
<key>PayloadOrganization</key>
<string>[Organization Name]</string>
<key>PayloadType</key>
<string>com.apple.security.pkcs12</string>
<key>PayloadUUID</key>
<string>A1A4B9B4-D575-4B86-9CB2-1ECAEC947154</string>
<key>PayloadVersion</key>
<integer>1</integer>
</dict>
</array>
<key>PayloadDescription</key>
<string>描述文件描述。</string>
<key>PayloadDisplayName</key>
<string>MDM Enrollment Profile</string>
<key>PayloadIdentifier</key>
<string>com.xxx.mdm</string>
<key>PayloadOrganization</key>
<string>Tendyron</string>
<key>PayloadRemovalDisallowed</key>
<false/>
<key>PayloadType</key>
<string>Configuration</string>
<key>PayloadUUID</key>
<string>EE9F29F2-ADD2-4E6B-ADE4-767791D9F9FA</string>
<key>PayloadVersion</key>
<integer>1</integer>
</dict>
</plist>

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容