申请Vendor
- 成为一个 MDM Vendor
- 首先你需要拥有一个299美元/年的企业开发者账号
- 访问苹果开发者官网,如果你已经是一个MDM Vendor,则可以在Certificates>Production的新建菜单中看到MDM CSR的选项,如图。
图1 - 如果还没有,则需要向苹果官方申请成为MDM Vendor。申请地址
- 创建CSR
-
打开钥匙串访问,点击“钥匙串访问->证书助理->从证书颁发机构请求证书”,创建一个 CSR。“常用名称”就是私钥的名称,创建CRS 时会同时创建一个私钥,这个私钥名字会显示在钥匙串中。
图2 - 将此 CSR 存储至磁盘。
-
- 在钥匙串中选择创建 CSR 时的私钥,导出为vendor.p12文件。
导出时会要求你设置私钥密码,请记住这个密码 - 登录苹果开发者官网,Certificates>Production>("+"按钮),类型选择MDM CSR,如图1。上传步骤2中创建的CSR文件后生成证书。下载得到mdm.cer
- 证书转换:cer->pem
下载苹果WWDR 证书和苹果根证书
转换 mdm.cer,WWCR 证书和苹果根证书为 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放到同一个目录下。
图3还会碰到sun.misc.BASE64Encoder找不到jar包的问题,请自行百度解决。
-
我们打开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中需要用到的证书了。
网友评论