1.到钥匙串--证书管理--从证书颁发机构请求证书,生成CertificateSigningRequest.certSigningRequest(常用名称最好以有前缀+当前日期命名)
2.到钥匙串--密钥,搜索20180223,选择专用密钥,导出vendor.p12(导出时会要求你设置私钥密码,请记住这个密码)
3.将2步骤的私钥导出为 pem 格式(.key文件),打开终端输入:
openssl pkcs12 -in vendor.p12 -nocerts -out vendor.key
输入命令后会要求你输入3次密码:vendor.p12 的密码、vendor.key 的密码、vendor.key 的密码。
4.登陆 https://developer.apple.com 生成mdm csr文件,并下载 mdm.cer
将步骤1生成的CertificateSigningRequest.certSigningRequest导入,并 生成mdm.cer
5.重复步骤1生成 MDMCustomer_20180223.certSigningRequest 文件
6.在mac上生成customer的encode文件 plist_encoded20180223.encoded,打开终端输入:(mdm_vendor_sign.py脚本文件,请到github下载:https://github.com/grinich/mdmvendorsign)
Python mdm_vendor_sign.py --csr MDMCustomer_20180223.certSigningRequest --key 'vendor.key' --mdm mdm.cer
如果不出问题的话,会输出下面:
7.登陆:https://identity.apple.com/pushcert/ ,找到对应的证书,并使用上步骤中的encode文件renew证书(如果是第一次就需要创建证书),下载pem文件
8.在mac上导入pem文件并导出为pushcert.p12文件,设置密码。把p12文件给服务器,重新启动jboss服务,之前已注册设备可以继续正常使用。
原有使用失效pushcert.p12的服务器仍可以正常安装和进行mdm推送,但是建议在这之前进行相应的更新。
9.我们发现刚刚制作的证书是“此证书是由未知颁发机构签名的”的,为什么呢,明明签名机构是苹果的。如果细心的同学应该能发现,以前我们用的签名者是 Apple Application Integration Certification Authority
但是现在变成了 Apple Application Integration 2 Certification Authority,就多了个2。
解决方法:下载相应的证书,地址,
下载好之后,双击安装之后,就可以看到“此证书有效”。(其实不安装这个证书,它也不会影响MDM功能使用,但是某人有强迫症例外,^_^)