準(zhǔn)備
整個(gè)流程主要包括兩個(gè)部分捞烟,vendor和customer羊瘩。過(guò)程中會(huì)用到一個(gè)python腳本“mdm_vendor_sign”可以到github上下載俩檬。
企業(yè)級(jí)開發(fā)者
MDM功能的開發(fā)必須是蘋果企業(yè)級(jí)開發(fā)者賬號(hào)(Apple Enterprise Account)要糊。個(gè)人開發(fā)者賬號(hào)是不可以的纲熏。
申請(qǐng)移動(dòng)設(shè)備管理廠商-MDM Vendor
前往蘋果開發(fā)者著網(wǎng)站申請(qǐng)成為MDM Vendor:
https://developer.apple.com/contact/submit.php
申請(qǐng)過(guò)程需要1-2工作日
制作證書
制作過(guò)程中輸入命令的前提是 cd到證書文件所在目錄
創(chuàng)建MDM Vendor CSR (證書申請(qǐng)簽名)
- 打開鑰匙串-證書助理-從證書頒發(fā)機(jī)構(gòu)申請(qǐng)證書
- User Email Address: 輸入與Apple ID相同的郵箱地址
- Common Name: 公司名稱+MDM 例如(Baidu Inc. MDM)
- 將簽名存儲(chǔ)到本地備用
上傳CSR到蘋果證書管理系統(tǒng)
- 在開發(fā)者網(wǎng)站 add new certificate,選擇MDM CSR
- 按照向?qū)乱徊剑陂g上傳CSR
- 完成
下載蘋果簽名證書并加入鑰匙串
- 在鑰匙串中會(huì)有一個(gè)MDM Vendor:公司 的證書
- 地方點(diǎn)擊證書展開后可以看到MDM私鑰
創(chuàng)建推送證書CSR(證書申請(qǐng)簽名)
- 需要一個(gè)新的CSR
- 打開鑰匙串-證書助理-從證書頒發(fā)機(jī)構(gòu)申請(qǐng)證書
- User Email Address: 可以不用Apple ID
- Common Name: 公司名+Push
- 保存至本地備用
導(dǎo)出 “公司+MDM”私鑰和MDM Vendor證書
- 導(dǎo)出私鑰成.p12文件,這個(gè)文件包括了證書和key赤套。命名為private.p12
- 提取私鑰:
openssl pkcs12 -in private.p12 -nocerts -out key.pem
- 提取證書:
openssl pkcs12 -in private.p12 -clcerts -nokeys -out cert.pem
- 將證書轉(zhuǎn)換成DES格式:
openssl x509 -in cert.pem -inform PEM -out mdm.cer -outform DES
- 去掉private ket密碼:
penssl rsa -in key.pem -out private.key
- 以上是為先一步生成特殊的蘋果簽名CSR做準(zhǔn)備
下載 mdmvendorsign工具
- 下載工具的證書同目錄
- 運(yùn)行
python mdm_vendor_sign.py –key private.key –csr push.csr –mdm mdm.cer –out applepush.csr
- 如果運(yùn)行成功會(huì)出現(xiàn)提示upload the file 之類的提示
- 如果不成功飘痛,則需要做一寫改動(dòng):
- 首先手動(dòng)下載wwdr.cer證書到此目錄
- 修改mdmvendorsign.py 代碼128行為:
intermediate_cer = open('wwdr.cer','r').read()
- 再次運(yùn)行
從Apple創(chuàng)建推送證書
- 根據(jù)提示上傳到 https://identity.apple.com/pushcert
- 下載推送證書
- 將證書載入鑰匙串(會(huì)顯示 APSP:XXXX)
為推送準(zhǔn)備證書
- 雙擊推送證書,獲取 push topic 信息備用容握。例:com.apple.mgmt.External.<guid>
- 導(dǎo)出此證書為.p12文件
- 需要轉(zhuǎn)換為APNSWrapper可用的格式
openssl pkcs12 -in mdm.12 -out pushcert.pem -nodes