生成
1、使用证书助理生成CertificateSigningRequest文件
2、下载mdm.cer文件,双击安装后打开钥匙串程序打开我的证书找到后导出vendor.p12,打开终端执行以下命令
openssl pkcs12 -in vendor.p12 -nocerts -out key.pem
openssl rsa -in key.pem -out mdm_vendor_private.key
3、最后把CertificateSigningRequest文件,mdm.ver文件,mdm_vendor_private.key和mdm_vendor_sign.py文件(生成办法在下面)放到一个文件夹下执行在终端下执行
python mdm_vendor_sign.py --csr CertificateSigningRequest.certSigningRequest --key mdm_vendor_private.key --mdm mdm.cer
会生成一个plist_encoded文件
4、点击https://identity.apple.com/pushcert/上传即可
mdm_vendor_sign.py内容,将下面的代码全部复制放到文本文件里保存为mdm_vendor_sign.py即可
# This is based loosely on Softthinker's java code found here
# http://www.softhinker.com/in-the-news/iosmdmvendorcsrsigning
# fuck java
import argparse
from plistlib import writePlistToString
import os
import subprocess
from base64 import b64encode
import sys
import urllib2
def p(s):
sys.stdout.write(s)
sys.stdout.flush()
def mdm_vendor_sign():
"""
This utility will create a properly encoded certifiate signing request
that you can upload to identity.apple.com/pushcert
"""
parser = argparse.ArgumentParser(description=mdm_vendor_sign.__doc__)
parser.add_argument('--key', help='Private key', required=True)
parser.add_argument('--csr', help='Certificate signing request', required=True)
parser.add_argument('--mdm', help='MDM vendor certificate', required=True)
parser.add_argument('--out', help='Output filename', required=False)