申請(qǐng)成為MDM Vendor
首先需要擁有一個(gè) iOS Developer Enterprise Program 帳號(hào);
申請(qǐng)成為MDM Vendor由驹,iOS企業(yè)開發(fā)帳號(hào)默認(rèn)不支持MDM功能雇初,需要向蘋果申請(qǐng)才能開通栖疑,訪問 https://developer.apple.com/contact/submit.php罪既,并通過iOS企業(yè)開發(fā)帳號(hào)Agent身份登錄,提交申請(qǐng)說明希望成為MDM Vendor藐握,蘋果一般在一個(gè)工作日內(nèi)會(huì)處理完畢晶疼,處理完后會(huì)給Agent發(fā)郵件通知,此時(shí)再次登錄到開發(fā)中心Add iOS Certificate界面或多處一個(gè)“MDM SCR”選項(xiàng)
1 創(chuàng)建私鑰
打開鑰匙串訪問吧恃,點(diǎn)擊“鑰匙串訪問”→證書助理→從證書頒發(fā)機(jī)構(gòu)請(qǐng)求證書如圖1-1:
圖1-1
點(diǎn)擊后調(diào)到如圖1-2窗口
圖1-2
圖1-3
使用命令生成vendor.key
openssl pkcs12 -in vendor.p12 -nocerts -out vendor.key
會(huì)要求你輸入3次password:vendor.p12 的password、vendor.key 的password乾蓬、vendor.key 的password。密碼一定要記住
2 提交CSR
打開網(wǎng)頁https://developer.apple.com慎恒,用蘋果ID登錄如圖2-1任内,點(diǎn)擊Certificates,Identifiers&Profiles
圖2-1 操作如圖2-2,1production→2加號(hào)
圖2-2
選擇MDM CSR
圖2-3
如圖2-4選擇Continue
圖2-4
Choose File選擇步驟1中保存的CSR(MdmPushChat.certSigningRequest)文件如圖2-5
圖2-5
然后點(diǎn)擊Continue融柬,MDM vendor文件生成如下圖2-6
圖2-6
點(diǎn)Download死嗦,下載下來MDM.cer。
3 生成pem文件
下載WWDR證書與蘋果根證書:http://www.apple.com/certificateauthority/粒氧,下下來兩個(gè)文件名為:AppleIncRootCertificate.cer越除、AppleWWDRCA.cer的文件,然后終端使用命令行生成pem文件
openssl x509 -inform der -in mdm.cer -out mdm.pem
openssl x509 -inform der -in AppleWWDRCA.cer -out intermediate.pem
openssl x509 -inform der -in AppleIncRootCertificate.cer -out root.pem
注意:如果你使用mdm_vendor_sign.py 腳本簽名vendor 的plist 文件外盯,則此步可省略摘盆。
我下面就是采用這種方法
4.MDM Customer
1、重復(fù)第一步創(chuàng)建一個(gè)Customer的certSigningRequest 使用鑰匙串創(chuàng)建CSR饱苟,記住密鑰對(duì)常用名稱(便于導(dǎo)出)孩擂。 導(dǎo)出 certSigningRequest。文件名: tortoise_customer.certSigningRequest箱熬。
在mac上生成customer的encode文件plist_encoded类垦,打開終端輸入:(mdm_vendor_sign.py腳本文件,請(qǐng)到github下載:https://github.com/grinich/mdmvendorsign)
注意城须,mdm_vendor_sign.py 腳本只需要3個(gè)文件:customer的CSR蚤认、vendor.key、mdm 證書糕伐。它不需要WWDR 證書和蘋果根證書砰琢,也不需要進(jìn)行復(fù)雜的證書格式轉(zhuǎn)換。WWDR和蘋果根證書的下載以及pem 格式轉(zhuǎn)換都是由腳本自動(dòng)進(jìn)行的赤炒。
腳本下載下來后需要把這三個(gè)文件拖到這里氯析,然后執(zhí)行我們下面的命令:
Python mdm_vendor_sign.py --csr tortoise_customer.certSigningRequest --key 'vendor.key' --mdm mdm.cer
如果不出問題的話,會(huì)輸出下面:
5.上傳plist
用你的Apple ID 登錄 https://identity.apple.com/pushcert/ 莺褒,點(diǎn)擊“Create aCertificate”掩缓,上傳plist_encoded 文件。使用java 代碼簽名的請(qǐng)注意遵岩,不要上傳plist.xml你辣,而是上傳plist_encoded巡通。上傳后會(huì)產(chǎn)生一個(gè)APNS 證書,下載后得到一個(gè).pem 文件(為方便使用舍哄,改名為push_cert.pem)宴凉。雙擊.pem 文件將證書安裝到鑰匙串中。打開鑰匙串表悬,看看到該證書名為“APSP:”弥锄,如下圖所示:
我們發(fā)現(xiàn)剛剛制作的證書是“此證書是由未知頒發(fā)機(jī)構(gòu)簽名的”的,為什么呢蟆沫,明明簽名機(jī)構(gòu)是蘋果的籽暇。如果細(xì)心的同學(xué)應(yīng)該能發(fā)現(xiàn),以前我們用的簽名者是 Apple Application Integration Certification Authority
但是現(xiàn)在變成了 Apple Application Integration 2 Certification Authority饭庞,就多了個(gè)2戒悠。
解決方法:下載相應(yīng)的證書,https://www.apple.com/certificateauthority/
下載好之后舟山,雙擊安裝之后绸狐,就可以看到“此證書有效”。(其實(shí)不安裝這個(gè)證書累盗,它也不會(huì)影響MDM功能使用)
這個(gè)時(shí)候還需要導(dǎo)出p12給我后臺(tái)使用寒矿,因?yàn)楹笈_(tái)只能識(shí)別p12,導(dǎo)出時(shí)一定要以MDM_mobileark.p12這樣命名幅骄,密碼自定義(注意區(qū)分大小寫)
這個(gè)就是我們最終生成的p12證書劫窒,把他上傳到我們的應(yīng)用后臺(tái)就可以了。