iOS MDM 生成的APSP推送证书不被钥匙串信任原因

在做MDM服务器过程中,作为MDM的服务商,申请完MDM服务,生成了MDM.cer证书,然后需要通过此证书生成推送使用的APSP证书,生成步骤如下(引用的地址:http://esoftmobile.com/2015/03/23/ios-devices-mdm/ ,网上一搜一大片,懒得再写,抄过来的):

申请Vendor

申请成为MDM Vendor

  1. 首先需要拥有一个 iOS Developer Enterprise Program 帐号;
  2. 申请成为MDM Vendor,iOS企业开发帐号默认不支持MDM功能,需要向苹果申请才能开通,访问 https://developer.apple.com/contact/submit.php,并通过iOS企业开发帐号Agent身份登录,提交申请说明希望成为MDM Vendor,苹果一般在一个工作日内会处理完毕,处理完后会给Agent发邮件通知,此时再次登录到开发中心Add iOS Certificate界面或多处一个“MDM SCR”选项。

申请证书

  1. 在OS X上打开钥匙串,点击“钥匙串访问->证书助理->从证书颁发机构请求证书”,创建一个CSR,将此CSR存储至磁盘。记住“常用名称”字段为私钥的名字,创建CSR的同时,钥匙串“密钥”栏中会增加一个以该常用名称为名的私钥。
  2. 在钥匙串中选择创建CSR时的私钥,导出为MDMVendor.p12文件,导出时会要求你设置私钥密码,如果设置密码请记住这个密码(后面会用到)。
  3. 登录iOS Developer Center,进入Certificates,点击Add Certificate(“+”按钮),选择Production下面的“MDM SCR”。
image.png

点击Continue->Continue,上传之前创建的CSR文件,然后点击Generate。点击Download,得到一个mdm.cer证书。

申请MDM Customer

  1. 创建CSR

    使用钥匙串创建一个CSR,记住密钥的常用名称,导出CSR,命名为MDMCustomer.csr。

  2. 获取编码的Plist文件
    python mdm_verdor_sign.py --csr MDMCustomer.csr -key 'MDMVendor.key' --mdm mdm.cer

MDMCustomer.csr提交给Vendor,Vendor对Customer提交的MDMCustomer.csr进行签名。我们使用 mdm_vendor_sign.py 工具签名:
执行完后会生成一个plist_encoded文件。

  1. 获取MDM推送证书

    用iOS企业开发帐号的Apple ID登录 Apple Push Certificates Portal,选择“Create a Certificate”,上传之前的plist_encoded文件。上传后会生成一个APNS的证书,下载得到.pem文件,双击文件安装到钥匙串。打开钥匙串可查看该证书名为“APSP:xxx”:

image.png

此处是分割线,下面的内容是我的主要内容:

该证书即为MDM指令推送证书,可根据服务端需求导出p12或cer格式提供给服务端开发人员。
重点在这里, 大家发现我们生成的p12证书,在我们的mac的钥匙串并不受信任(我的电脑系统:macOS High Sierra 10.13.3), 提示如下:

image.png

可是签名机构明明是苹果的啊,我又仔细看了一下和别人的之前的文章查询发现了区别,下面的是之前的苹果的APSP证书信息:
image.png

下面是我们的当前的证书信息:
image.png

我们发现,签发者变了,有之前的Apple Application Integration Certification Authority 变成了Apple Application Integration 2 Certification Authority多了个2,然后我们会发现,我们系统默认的钥匙串的签发机构里面,没有这个带2的,但是有不带2的
image.png

这也就是为什么之前生成的APSP证书直接就被系统信任,而现在产生的缺不被系统信任,但是为什么苹果不将这个也植入到系统呢?换句话话.这个签发者靠谱吗?我们是不是签名签错了呢?为了验证一下,我查找了一下苹果的所有证书,地址在:https://www.apple.com/certificateauthority/,
发现苹果的证书列表如下:

image.png

我们看到了带2的这个证书,缺没有看到不带2的证书,这个让我很尴尬,然后我们下载那个带2的证书,添加到系统,(不需要修改信任策略,直接就被系统信任了) 我们会发现,我们的APSP证书瞬间变得可信任
image.png

也就是说明,添加了这个中级签发机构的证书,我们的信任链就完整了,也就是通过了系统验证,到此,可以确定我们签名没有错,
总结一下: 之所以APSP证书添加到mac系统不被信任,是因为系统的信任列表中缺少对应的签发者的证书信息,为什么没有这个,我个人猜测,应该是苹果正在一个过渡期,准备抛弃不带2的那个中间签发机构,这也可能是为什么刚刚那个不带2的证书在苹果的证书列表中找不到的原因吧,估计会有很长一段时间内,这两个证书都会共存,而且植入到系统默认的信任列表中,我个人猜的,应该是这样的 谢谢

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,547评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,399评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,428评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,599评论 1 274
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,612评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,577评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,941评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,603评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,852评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,605评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,693评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,375评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,955评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,936评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,172评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,970评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,414评论 2 342

推荐阅读更多精彩内容