iOS签名机制原理

iOS签名机制流程图

image

不管是真机调试,还是发布APP,开发者都需要经过一系列复杂的步骤

  1. 生成CertificateSigningRequest.certSigningRequest文件

  2. 获得ios_development.cer\ios_distribution.cer证书文件

  3. 注册device、添加App ID

  4. 获得*.mobileprovision文件

首先有三个角色mac 设备 apple后台 iOS设备

首先mac设备生成一对mac公钥mac私钥

apple后台就是apple的服务器也会生成一对公钥私钥,私钥保存在apple的后台,公钥在每一天iOS设备上,相当于每一台iOS设备都有一个相同的苹果公钥

  • 第一步。app(mach-o可执行文件也就是项目的源代码,第二个包含图片资源,mp3资源,视频资源,storyBoard,xib等等这些资源)这些东西最终都会变成一个ipa包装到我们手机上。

    app文件经过mac电脑的私钥进行签名生成两个文件 ,一个是签名(这个签名是把你的app的内容 生成一个散列值用mac私钥进行加密)然后加上你原来的app文件

  • 第二步需要做一个生成证书的操作,证书是CA利用自己的私钥对你的公钥进行签名,这里面apple就是一个CA认证机构,apple这个CA对你的mac公钥进行一个签名然后生成一个证书,这个证书就是对mac公钥进行一个签名,证书里面也是包含两个文件一个是mac公钥原文件,一个是用apple私钥加密的签名,生成证书以后他会加上设备ID(devices),app id,entitlements(就是一些权限)。

  • 第三步就是他拿到第二步生成的证书还有设备ID(devices),app id,entitlements这些经过apple的私钥在进行一个签名,这里面生成的签名就是步骤2里面的证书文件加上设备ID(devices),app id,entitlements,生成的一个签名文件,当然还包含原来的设备ID(devices),app id,entitlements,那么这个签名加上原来那一堆设备ID(devices),app id,entitlements和证书就生成一个moblieProvision文件

  • 第四步,经过这一系列操作以后相当于你的ipa里面(也就是第一步说的ipa文件)包含了app文件(代码mach-o,视频,图片等等),还有这些app数据文件对应的一个签名,再加上一个moblieProvision文件

这时候假设要把上面步骤生成的ipa文件装到我们的手机上他会进行一个验证操作,由于我们的iOS设备有一个apple官方的公钥,他会拿到apple官方的公钥去验证moblieProvision文件里的那个签名,为什么要验证这个签名,因为当初这个签名是拿apple私钥签的,如果这个签名没有问题,说明步骤三里的签名加上原来那一堆设备ID(devices),app id,entitlements和证书没有问题,那么接下来他就要验证设备ID(devices),app id,entitlements,会验证设备ID(devices)是不是包含,app id和你步骤一里面的app文件里的id是不是相同,然后看entitlements和你app文件里执行的文件是不是相同

接下来他需要用apple公钥验证一下moblieProvision文件的证书(就是)第二步里生产的mac公钥和mac公钥经过apple私钥签名的的文件那个证书。如果这步没问题说明mac的公钥是合法的 ,然后拿到这个mac合法公钥进行验证签名,进行app签名文件代码验证签名,为什么要用mac公钥验证,因为当初这个app签名文件是用mac私钥进行的签名,如果没问题的话说明代码是没问题的,说明代码没被别人修改,那么程序就可以安装了

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

推荐阅读更多精彩内容