MDM Certificate

 

MDM Certificate

一、 概要

MDM Server本质为一个https web服务器,需要一个证书server.crt,还需要一个自签名的CA,这个CA可以是AG上的rootCA,MDM还需要与APNs通讯,需要一个PushCert.pem,最重要的就是如何生成这个Pushcert.pem,请看下图。

image

Root CA

1. cacert.crt

2. cakey.key

MDM Https

1. server.crt

2. server.csr

3. server.key

MDM PushCert

PushCert.pem (包含证书以及密钥)

Client certificate

(iPhone上的用来做客户端认证,这个证书负载到MDM profile里面)

Identifier.p12

二、 生成PushCert.pem

我们既是MDM vendor,也是MDM customer,只有苹果企业开发者账号才能成为MDM vendor,

作为MDM vendor:

1. 登录到provisioning portal,创建一个MDM CSR 证书

即使你是企业开发者账号,也不一定出现创建MDM CSR的入口,如果创建不了,你就要联系苹果,说明你要成为MDM vendor,大约一个工作日之后,你就可以创建MDM CSR了,提交申请地址https://developer.apple.com/contact/submit.php

 

2. 经过第一步我假设你已经成为了MDM vendor所需要的证书了

证书:mdmvendor.cer(der格式)

密钥:mdmvendor.key(pem格式)

3. 通过邮件,或者网页提交得到了MDM customer的证书请求custom.csr

a) python mdm_vendor_sign.py --csr customer.csr --mdm mdmvendor.cer --key mdmvendor.key --out certencode.plist

(mdm_vendor_sign.py见github:https://github.com/grinich/mdmvendorsign

作为MDM customer

1. 生成证书请求:

openssl genrsa -des3 -out customerPrivateKey.pem 2048

openssl req -new -key customerPrivateKey.pem -out customer.csr

2. 然后将customer.csr提交给MDM vendor,vendor会给你一个文件certencode.plist这个文件是一个base64编码的plist文件,其中包含了被vendor私钥sign的CSR,还有,MDM vendor证书,已经苹果的相关证书信息,然后登录到https://identity.apple.com/pushcert/,提交这个文件,就会生成你所需要的push.cer

3. 下面用IPCU生成附带MDM payload的profile,注意topic要与push.cer中的UID相同

 

参考:http://www.softhinker.com/in-the-news/iosmdmvendorcsrsigning

posted @ 2013-05-21 22:58  l0n6v2G0  阅读(862)  评论(0编辑  收藏  举报