申请成为MDM Vendor
首先需要拥有一个 iOS Developer Enterprise Program 帐号;
申请成为MDM Vendor,iOS企业开发帐号默认不支持MDM功能,需要向苹果申请才能开通,访问https://developer.apple.com/contact/submit.php,并通过iOS企业开发帐号Agent身份登录,提交申请说明希望成为MDM Vendor,苹果一般在一个工作日内会处理完毕,处理完后会给Agent发邮件通知,此时再次登录到开发中心Add iOS Certificate界面或多处一个“MDM SCR”选项
1 创建私钥
打开钥匙串访问,点击“钥匙串访问”→证书助理→从证书颁发机构请求证书如图1-1:
图1-1
点击后调到如图1-2窗口
图1-2
如上图:用户电子邮件填入注册的苹果账号(Apple ID相同的邮箱地址),常用名称填入名称,记住这个名称,需要提供给开发人员。CA电子邮件地址空着不填,最后一项选择存储到磁盘。然后点继续,保存。不修改文件名,你会在文件夹内找到CertificateSigningRequest.certSigningRequest文件,我们这里修改一下文件名方便我们查找MdmPushChat.certSigningRequest,钥匙串内会生成一个私钥。将私钥导出名为vendor.p12,导出时设置密码,一定要记住。
图1-3
使用命令生成vendor.key
openssl pkcs12 -in vendor.p12 -nocerts -out vendor.key
会要求你输入3次password:vendor.p12 的password、vendor.key 的password、vendor.key 的password。密码一定要记住
2 提交CSR
打开网页https://developer.apple.com,用苹果ID登录如图2-1,点击Certificates,Identifiers&Profiles
图2-1
操作如图2-2,1production→2加号
图2-2
选择MDM CSR
图2-3
如图2-4选择Continue
图2-4
Choose File选择步骤1中保存的CSR(MdmPushChat.certSigningRequest)文件如图2-5
图2-5
然后点击Continue,MDM vendor文件生成如下图2-6
图2-6
点Download,下载下来MDM.cer。
3 生成pem文件
下载WWDR证书与苹果根证书:http://www.apple.com/certificateauthority/,下下来两个文件名为: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 Customer
再创建一个新的CSR文件,为了和上面的区分,常用名称也要和上面的不一样,我们把名字命名为MDMCustomer.csr。
转换 CSR->cer
openssl req -inform pem -outform der -in MDMCustomer.csr -out customer.der
把MDMCustomer.csr给vendor,vendor需要用 softthink 的 java 代码对 customer 提交的 customer.der 进行签名。softthink的下载地址
新建一个java项目把softthink的代码和提供的dom4j-1.6.1.jar导入,把上面生成的文件和Test.java放到同一个目录下。
还会碰到sun.misc.BASE64Encoder找不到jar包的问题,请自行百度解决。
图3
我们打开Test.java,alias是vendor生成CSR文件时候的常用名称,password是vendor.p12的密码。
图4
代码执行结果将在程序目录下生成一个 plist_encoded 文件。
上传 plist
用你的 Apple ID 登录https://identity.apple.com/pushcert/,点击“Create aCertificate”,上传 plist_encoded 文件。上传后会产生一个 APNS 证书,下载后得到一个 .pem 文件(为方便使用,改名为 push_cert.pem)。双击 .pem 文件将证书安装到钥匙串中。打开钥匙串,看看到该证书名为“APSP:”,如下图所示:
图5
从钥匙串中把证书导出p12格式,就是MDM中需要用到的证书了。