第3篇:生成iOS MDM的APNS推送证书MDMPush.p12文件

在iOS设备和MDM Server通过APNS进行通信,对于消息的推送,我们需要专用的推送证书文件和密码,本文介绍生成MDMPush.p12证书文件及密码的过程。

(1)创建MDM供应商CSR

① 在Mac上打开“钥匙串访问”;
② 菜单栏:“钥匙串访问”->“证书助理”->“从证书颁发机构请求证书...”;
③ 使用与将要使用的开发人员帐户相同的电子邮件。输入一个通用名称;
④ 选择“保存到磁盘”,命名为:CertificateSigningRequest.certSigningRequest;

(2)生成mdmvendor.cer文件

登录苹果开发者账号(https://developer.apple.com/account),进入“证书、标识符和描述文件”->“证书(英文)”;

在“Certificates, Identifiers & Profiles”下点击“Certificates”旁边的蓝色的“”;

在“Server”下选择“MDM CSR”

上传第(1)步生成的“CertificateSigningRequest.certSigningRequest”文件。然后下载.cer文件,把它命名为mdmvendor.cer。

(3)导出MDM私钥

① 在“钥匙串访问”中打开您的mdmvendor.cer文件;
② 从左侧选择证书,你应该发现证书名为MDM供应商:通用名称;
③ 这一行应该有一个展开的箭头,显示“专用密钥”;
④ 右键单击私钥,选择导出,并保存为private.p12,此步骤需要设置密码,需要自己记住;


(4)创建推送证书CSR

① 在“钥匙串访问”中;
② 再次从菜单栏:“钥匙串访问”->“证书助理”->“从证书颁发机构请求证书...”;
③ 输入您的电子邮件(可以是其他电子邮件,不必是开发者账号)和通用名称;
④ 选择保存到磁盘,并将其命名为push.csr(与步骤(1)相同,不在附图);

(5)提取MDM私钥和MDM供应商证书

使用命令提取私钥:

openssl pkcs12 -in private.p12 -nocerts -out key.pem

注意:在步骤(3)的导出过程中在private.p12文件中设置了密码,则需要在此命令中输入相同的导入密码,此外,您还需要输入PEM密码。

使用以下命令从key.pem中提取private.key:

openssl rsa -in key.pem -out private.key

注意:这个命令要求您输入key.pem的密码,需要和上一步的设置保持一致。

使用以下命令提取mdm证书:

openssl pkcs12 -in private.p12 -clcerts -nokeys -out cert.pem

注意:在步骤3中的导出过程中在private.p12文件中添加了密码,需要在此命令中输入相同的导入密码。

使用以下命令将证书转换为DES:

openssl x509 -in cert.pem -inform PEM -out mdm.cer -outform DES

(6)使用python命令生成applepush.csr

确保电脑安装了python版本,且版本为2(不能太高);

通过git命令下载代码:

git clone https://github.com/vineetchoudhary/Apple-iOS-MDM-Server.git

复制private.key、push.csr、mdm.cer到Apple-iOS-MDM-Server/vendor/下。

然后在Apple-iOS-MDM-Server/vendor/下执行下面的python命令:

python mdm_vendor_sign.py --key private.key --csr push.csr --mdm mdm.cer --out applepush.csr

此命令生成了applepush.csr文件。

(7)从Apple获得MDM推送证书

① 到Apple的推送证书门户(https://identity.apple.com/pushcert/);
② 然后单击创建证书按钮,上传applepush.csr以在表中创建一个新条目;
③ 下载生成的推送证书;

(8)准备MDMPush.p12推送证书

① 在“钥匙串访问”中查找推送证书。看起来像APSP:xxxxxx;
② 右键单击证书并选择“显示简介”;
③ 复制“用户ID”,它应该看起来像com.apple.mgmt。我们稍后会使用它;
④ 右键单击证书并选择“导出…”。。。并将其保存为MDMPush.p12,并设置证书密码;


自此,用于APNS推送MDM消息的证书制作完成。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容