zoukankan      html  css  js  c++  java
  • MDM 证书申请流程(vendor及customer)

    整个流程分为两部分:vendor,customer。

    一、Vendor

    1、成为一个 MDM Vendor

    1) 首先你须要拥有一个 Apple Enterprise account($299/年)。

    2) 訪问 https://developer.apple.com/contact/submit.php。在这里你能够申请成为一个 MDMVendor:

    苹果的承诺是一个工作日内处理完成,处理好会向你的邮箱发送一封通知邮件,并在邮件中提供一些 MDM 相关的文档链接。

    实际上的时间可能会比这个稍长一些,以笔者为例。是在一个半天后收到亚洲苹果的邮件回复。

    假设申请得到允许,则会在Portal 的 Add Certificate 中多出一个“MDM CSR”选项。

    2、创建证书申请

    打开钥匙串。点击“钥匙串訪问->证书助理->从证书颁发机构请求证书”,创建一个 CSR。将此 CSR 存储至磁盘。记住“Common Name”字段应该是私钥的名字。创建CRS 时会同一时候创建一个私钥,这个私钥名字(Common Name)会显示在钥匙串中。

    3、导出私钥

    在钥匙串中选择创建 CSR 时的私钥,导出为vendor.p12文件。

    导出时会要求你设置私钥password。请记住这个password。

    注意,假设使用 mdm_vendor_sign.py 对 customer 的 csr 进行签名,则须要将私钥导出为 pem 格式(.key文件):

    openssl pkcs12 -in vendor.p12 -nocerts -out vendor.key

    会要求你输入3次password:vendor.p12 的password、vendor.key 的password、vendor.key 的password。

    4、提交 CSR

    登录 Portal,进入 Certificates->All,点击 Add Certificate(“+”button),选择Production 下的“MDM CSR” 。

    点 Continue->Continue。上传第二步中创建的 CSR,然后点 Generate。

    点击 Download,将得到一个 mdm.cer。

    5、证书转换:cer->pem。

    下载苹果 WWDR 证书和苹果根证书:

    http://www.apple.com/certificateauthority/

    转换 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_vendor_sign.py 脚本签名 vendor 的 plist 文件,则 此步可省略。

    二、MDM Customer

    1、创建一个 CSR

    使用钥匙串创建 CSR,记住密钥对经常使用名称(便于导出)。

    导出 CSR。文件名称: MDMCustomer.csr。

    2、转换 CSR->cer

    openssl req -inform pem -outform der -in customer.csr -out customer.der

    注意。假设使用 mdm_vendor_sign.py 脚本可省略此步。

    3、从 vendor 获取编码的 plist 文件

    customer 将 MDMCustomer.csr 或者 MDMCustomer.csr 提交 vender。

    剩下的事情由 vendor 进行。作为 vendor。须要用 mdm_vendor_sign.py 脚本命令( mdmvendorsign-master.zip)或者softthink 的 java 代码(Softhinker.zip)对 customer 提交的 customer.der 进行签名。

    这两个工具的下载地址:

    https://github.com/grinich/mdmvendorsign http://www.softhinker.com/in-the-news/iosmdmvendorcsrsigning/Softhinker.zip?attredirects=0&d=1

    下面我们以 mdm_vendor_sign.py 为例。

    运行命令:

    python mdm_vendor_sign.py --csr MDMCustomer.csr --key 'vendor.key' --mdm mdm.cer

    运行结果将生成一个  plist_encoded 文件。

    注意,mdm_vendor_sign.py 脚本仅仅须要3个文件:customer 的 CSR、mdm 私钥、mdm 证书。它不须要 WWDR 证书和苹果根证书,也不须要进行复杂的证书格式转换。WWDR和苹果根证书的下载以及 pem 格式转换都是由脚本自己主动进行的。因此要比用 java 代码签名简单得多。

    4、上传 plist

    用你的 Apple ID 登录 https://identity.apple.com/pushcert/ 。点击“Create aCertificate”,上传 plist 文件。

    使用 java 代码签名的请注意。不要上传 plist.xml。而是上传 plist_encoded。

    上传后会产生一个 APNS 证书,下载后得到一个 .pem 文件(为方便使用,改名为 push_cert.pem)。

    双击 .pem 文件将证书安装到钥匙串中。打开钥匙串,看看到该证书名为“APSP:<uuid>”。例如以下图所看到的。

  • 相关阅读:
    媒体查询漫谈——@media Queries
    JavaScript工具函数集
    什么是BFC、IFC、GFC和FFC
    HTTP与HTTPS的区别
    reflow 和 repaint
    客户端检测
    ajax
    批量删除
    数据访问
    登录主页面代码
  • 原文地址:https://www.cnblogs.com/lcchuguo/p/5247315.html
Copyright © 2011-2022 走看看