用开发者证书签名怎么认证,免费个人苹果签名证书

最近需要给iOS开发团队做一次关于iOS开发证书以及代码签名的分享,于是花了点时间把这一块的知识重新学习和整理了一遍,从而有了这篇学习笔记。其中很多一些文字都是从网站或者博客上摘抄过来,为了阅读方便也做了一些调整,说白了我只是做了一些知识的梳理和整合。该笔记涉及到内容有:开发者账号、签名证书、标识符(Identifiers)、设备(Devices)、APP授权机制、配置文件、ipa文件的签名和安全…

近期必须给iOS开发团队做一次关于iOS开发设计证书及其代码签名分享的,因此花了些时长把这一块的专业知识重学和总结了一遍,进而拥有这篇文章学习心得。其中不少一些文本也是从网址或是博主上摘录来,想要阅读文章便捷也做了一些调节,简言之我就是做了一些知识整理和融合。

该手记牵涉到内容包括:苹果开发者、签字证书、标志符(Identifiers)、设备(Devices)、APP授权机制、环境变量、ipa文件的签字和身份验证。

苹果开发者类型

苹果公司为iOS开发人员给予三种账户类型,如下所示:

  • Apple Developer Program 服务年费 $99(或¥688) 能够在iOS App Store和Mac App Store发布运用能以本人(Individual)或是机构(Organization)名义添加,以机构真实身份添加需要提交邓白氏编码(DUNS Number),会空出Team Management作用,容许多人协作开发设计。在发落款内以机构(Organization)名义添加能够填好企业或个人信息(例如某某某企业、某某某个人工作室),而本人(Individual)添加只有默认设置表明创建账户填报的本人信息,而且不可以改动。
  • Apple Developer Enterprise Program服务年费 $299,用以以InHouse方式公布公司内部运用,不可以发布App Store企业证书到期则早已安装运用无法再继续运作。
  • iOS Developer University Program
    高校计划需要提交高等院校基本上信息,提供。苹果公司为激励高等院校更多加入到苹果开发者方案中,刻意发布这一项方案,高校计划具备在真机里检测等管理权限,但是不能将App分享到App Store。

证书(Certificates)

什么叫证书?证书便是:证实证书持有者有证书上所讲的水平,一个证书要牵涉到授予者、持有者、证实持有者拥有什么样的能力。比如,CET-4证书;授予者:院校,持有者:自身,的证明水平:英语达到四级水准。苹果开发者证书也是一样,授予者:自身,持有者:组装证书的电脑;的证明水平:能够装包某应用软件。

开发人员证书水平由来

向Member Center申请办理证书的一个过程,本身就是将于当地产生的certSigningRequest文档递交给苹果公司,使它开展签字授权全过程。certSigningRequest这一文件包含以下几点:

  1. 申请人信息,此信息要用申请者的私钥加密的。
  2. 申请人公匙,此信息是申请人所使用的公钥相对应的公匙。
  3. 摘要算法和公钥加密优化算法。

当苹果用公钥并对签字(受权)以后,我们就会获得一个证书文档。有着该证书后,我们就能用相对应的公钥对APP签字了。当iOS设备取得APP时就能通过证书里的公匙来检验APP的准确性,与此同时iOS设备自身能够认证证书是否被授权,因为该证书是苹果自身签名的证书。

被苹果签名的证书会随着APP一起装包到ipa文件中,同时提交到App store中。

在我们得到签字证书以后,还要一个证书来检验证书有没有被恰当受权,该证书便是Worldwide Developer Relations Certificate Authority证书。该证书一般都会随Xcode一起组装到自己的电脑里,还可以从Member Center去免费下载。因此要是没有该证书,开发人员将无法使用相对应的公钥对APP的签字,因为不能保证证书是不是被授权。该证书其实就是网上流传提及媒体证书(Intermediate Certificate)。

证书的类型

苹果公司为开发人员给予三种证书类型,用于在各个条件下应用,便捷开发人员的调试和检测。

  • 开发设计证书:平常用于开展实机调试的证书,用该证书签名的APP,只有安装于指定设备上。
  • 检测证书:不可用于实机调试的证书,但是能够编译程序在指定的真机里(不能开展调试)。主要是用于递交给检测开展的功能认证,和开发证书的区别就是,它跟公布证书类似处在非沙盒游戏环境。但用该证书签名的APP没法递交到App store,只有组装在规定设备上。
  • 公布证书:不可用于调试和检测,也无法组装在规定设备上,只有递交到App store。

应用公司(Enterprise)账户中的公布证书签名的APP能够安装在因此设备上,但不能递交到App store。

标志符(Identifiers)

在Member Center中,Identifiers能够管理方法App IDs、Pass Type IDs、Website Push IDs、iCloud Containers、App Groups、Merchant IDs、在这里主要是详细介绍App IDs。

App ID其实就是一个字符串数组,拿来做APP唯一标识的字符串数组,App ID是大小写敏感的。一个APP有且只有有一个ID,而且唯一。在Project中称之为Bundle ID(但是也会有些小区别,Bundle ID不可以包括[ * ]号)。在Member Center、Project、iTunes Connect都需要此ID去标识此App的唯一性。App ID加上以后不可以进行调整和删掉。

App ID标识符的构成和类型

iOS开发者证书以及代码签名学习笔记

以上如图所示,App ID由Apple所产生的一个Team ID做为作为前缀,后边跟的是开发人员自定的标志符,App ID字符串数组中只有包括标识符(A-Z,a-z,0-9),连接符(-),点(.)并且此字符串数组最好是是reverse-DNS格式。比如你企业的网站域名是cctv.com,你App的名称是Hello,那你可以用com.cctv.Hello做为你Bundle ID。

App ID之中能以[ .* ]来末尾,用于表达一个通配类型,如下图:

iOS开发者证书以及代码签名学习笔记
  • 精确类型的App ID:在标志符中没有[ .* ]来结尾的App ID能够称做为精确类型,该类型的App ID可用于做APP的Bundle ID。
  • 使用通配符类型App ID:在标志符是以[ .* ]结尾的App ID为使用通配符类型的App ID,该类型的App ID不可以拿来做APP的Bundle ID,它的作用后面会提到。

每一个APP还会继续相匹配一串数字的字符串数组(在itunesconnect建立以后可以获得),根据该字符串数组可向Apple所提供的http接口(http://itunes.apple.com/lookup?id=**),获得相对应的APP在Appstore里的信息,可用于检验版本升级,升级的log一些资料。

App ID的功效

  • 在Xcode工过程中,Bundle ID保存在Info.plist中,如果你编译程序工程项目的情况下,他们会把此文件拷贝你的软件库中。
  • 在iTunes Connect,用Bundle ID去标志App,在你第一次搭建提交以后,不就好了不断变化或是删除你的Bundle ID了。
  • 在Member Center,你创建一个和Bundle ID相符的App ID。假如App ID是精确类型的,你就得精准的去配对你Bundle ID。

授权机制 (Entitlements)

授权机制取决于什么服务器资源什么样的情况容许被一个应用使用。简单说它就是一个沙盒游戏配置列表,上边列出什么个人行为允许其,什么会被拒。Xcode 会把这个文档做为--entitlements参数具体内容发送给 codesign。

在 Xcode 的 Capabilities 菜单栏下选择一些选择项以后,Xcode 便会形成这样一段 XML。 Xcode 会一键生成一个 .entitlements 文档,之后在需要时往里加上内容。当搭建全部应用中,这一文档还会递交给 codesign 做为运用所要有着什么授权参照。这种受权信息务必都是在开发者中心的 App ID 中开启,而且包含于环境变量中。

受权列表在Member Center中的App ID中配备,那样就能够相匹配到具体APP。

设备(Devices)

这儿的Device指的是用于检测或是调试使用的设备。能够是iPhone、iPad、iPod、Apple watch及其Apple TV,在Member Center中加上检测Device的流程其实不是很难,只需取得相匹配Deveice的UDID就能加了。我们能运用iTunes、iTools、Xcode这种专用工具都能够拿到设备的UDID。

需要注意的问题便是,每一个苹果开发者,每一年较多能够加上100台调试设备,并且加上以后不可以修改和删掉,要想改动就需要直到下一年再次续订的时候才会进行调整或是删掉调试设备了。

环境变量(Provisioning Profiles)

以上提及了证书能证明APP的隶属及其APP的完好性,确保APP的自身的安全性。但却不可以优化到APP所采用的服务项目被苹果公司认同,例如APN推送服务,而且证书没法限定调试版APP的装机规模。因此苹果公司想出mobileprovision。一个mobileprovision文件包含一下具体内容:

  1. AppID 这儿的AppId能是精确类型的还可以是使用通配符类型。
  2. 证书列表 在多的人协议书开发设计时,一个mobileprovision文档中能够包括好几个证书文档。
  3. 作用受权列表
  4. 可安装设备列表 评估和调试mobileprovision文档其中包含设备列表,mobileprovision公布类型的文档中一般不包括设备列表。
  5. 苹果的产品签字

以上所提到的苹果的产品签名要用的苹果自已的公钥相对应的公匙是Worldwide Developer Relations Certificate Authority证书(媒体证书)里的公匙,所以这类文件形成后,我们都是无法进行改动的,需要从Member Center中配备并形成。

配备文件的区别

  • mobileprovision文件中是否包含机器设备列表,可分为带device信息的描写文件与不带device信息的描写文件如下图:
iOS开发者证书以及代码签名学习笔记
iOS开发者证书以及代码签名学习笔记
  • 还可以根据配备文件中涉及到的证书文件的种类来划分:开发设计种类、测试类型、公布种类。
  • 还可以根据配备文件中涉及到的App ID做区别,假如文件中App ID是精确类别的,那么这个配备只有用于对指定APP开展应用。假如是通配类别的,那么这个证书可用于对相匹配的Bundle ID的APP开展应用。假如是Company类别的苹果开发者,能够形成一个供精英团队所使用的Team Provisioning Profile,通过这些配备文件,队伍内人员能够共用一个配备文件去进行开发设计调节,自然,App ID得特定成通配类别的。mobileprovision文件构造如下所示:
iOS开发者证书以及代码签名学习笔记

总体来说叙述文件便是融合了证书、AppID、机器设备及其作用受权列表,进而确认了应由哪台电脑,把哪一个App,安装在哪台手机上。

APP的签名和身份验证全过程

ipa文件的签名全过程

这张图片讲述了,开发iOS应用软件时,从申请办理证书,到装包的大概全过程。

iOS开发者证书以及代码签名学习笔记

ipa文件的构成

iOS程序流程最后都会以.ipa文件导出来,ipa文件仅仅一个zip包,能直接缓解压力,先来了解一下ipa文件的构造:

iOS开发者证书以及代码签名学习笔记

缓解压力后,获得图中的Payload文件目录,以下是个根目录,这其中的具体内容如下所示:

  • 网络资源文件,比如照片、html、这些。
  • _CodeSignature/CodeResources。这也是一个plist文件,可以用文字查询,这其中的内容是是软件包中(不包含Frameworks)全部文件的签名。留意欢迎来到全部文件。代表着你程序流程一旦签名,就不可以变更在其中一丁点的物品,包含网络资源文件和可操作文件自身。iOS系统将查验这种签名。
  • 可操作文件。此文件跟网络资源文件一样必须签名。
  • 一个mobileprovision文件.装包时所使用的,从MC上产生的。
  • Frameworks。程序流程引用的非系统软件带有的Frameworks,每一个Frameworks本身就是一个app,这其中的构造应当和app类似,还包含签名信息CodeResources文件。

ipa文件的身份验证历程

  1. 缓解压力ipa文件
  2. 取下embedded.mobileprovision,根据签名校检有没有被伪造过 a. 在其中几个证书的公匙,在其中开发设计证书和公布证书用以校检签名 b. BundleId c. 受权列表
  3. 校检全部文件的签名,包含Frameworks
  4. 核对Info.plist里边的BundleId是否合乎embedded.mobileprovision文件里的

别的涉及的难题

汇总

当参与到苹果开发者方案以后,苹果公司根据证书来受权给开发人员开发iOS运用,并带来了多种多样证书种类来针对不同的需要。为了确保APP安全性和一致性,APP中每一个文件也将被签名。除非是再次签名,不然不可以并对进行任何改动。

mobileprovision文件是一个配备文件,由苹果公司签名后公布给开发人员的。主要包含了证书、App ID、机器设备列表、受权列表。通过这个信息进而确认了应由哪台电脑,把哪一个App,安装在哪台手机上。因此证书和mobileprovision文件是签名和装包的两大必需文件。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2022年9月29日 下午6:42
下一篇 2022年9月29日 下午6:46

相关推荐

  • 直通车怎么优化点击率,淘宝直通车优化词技巧

    如今因为智能设备的便利性使的无线流量严重倾斜,PC端流量已经微乎其微了。那无限流量暴涨的同时。大家都是把功夫和精力都砸无线流量上面。致使竞争异常的激烈。从而也导致无线流量的缺乏。使的无线流量弥足珍贵。本文也是着重来跟大家分享关于直通车无线端的优化技巧和提升直通车ROI。 首先我们先来看看优化技巧。 一、那些是我们无线端的加权项 首先我们知道直通车无线端的权重与PC端是没有一点关系的。所以不管我们的…

    2022年8月1日
    500
  • 如何使用滴滴出行打车,分享滴滴出行使用步骤

    滴滴打车的兴起给我们带来了不少方便,然而在我们享受滴滴出行给我们带来的便捷之际,但我们的父母由于对互联网的不熟悉,很多都不会使用滴滴,没法享受互联网带来的便利。 那么滴滴究竟怎么用?就请跟随小编我的步伐,通过这个教程来了解如何使用滴滴打车吧。 1,首先你的智能手机需要下载一个滴滴出行app~ 2,注册账号:首次使用,需要手动注册您的个人信息,按照提示填写自己的详细资料,还需要绑定微信支付、银行卡或…

    2022年10月12日
    340
  • 小公司如何注册微信公众号,注册小公司的基本流程

    现代市场环境瞬息万变,每天有很多家公司宣布成立的同时也有一部分公司宣布倒闭。这是这样,拥有一家自己的公司更显不易。现在,随着国家鼓励全民创业自主创业的大环境下,许多刚毕业的青年才俊也都希望拥有一份属于自己的事业。但设立公司,开创自己的事业并不是一件简单的事情,怎么才能创立一家小公司?小公司注册流程是怎样的?下面广州发业小编整理了小公司注册流程的相关内容,欢迎阅读。 小公司注册流程如下: 1、核名:…

    2022年5月30日
    600
  • 欧舒丹身体乳哪款好用(全球六大超好用的身体乳)

    欧舒丹樱花身体乳怎么样 欧舒丹最受欢迎的一款身体乳,有着淡淡粉色的轻盈乳状质地,抹开后很快就吸收了,很保湿很滋润,但一点都不油腻,还会有细微的珠光,有提亮肤色的效果。香味特别好闻,甜蜜清新的樱花香气,浓淡适中。香味持久,但是冬季使用不够滋润,适合春夏秋季使用。 欧舒丹玫瑰皇后身体乳怎么样 质地不是很稠,比较接近乳液状,流动性挺强的。干油肌肤都适用,吸收很快,滋润不粘腻,即使在夏天用都…

    2022年9月25日
    720
  • 中秋送礼送什么好,中秋送礼最佳首选清单

    一年一度的中秋,因为您的多年相伴,显得更加珍贵!南方购物预祝各位阖家欢喜、团圆美满!幸福常相伴,南方购物与您同在❤ 佳节即将来到,中秋佳节回家团聚空手怎么行!,伴手礼还是尽量选择经济实惠的礼品,爱您的南方购物为你推荐精选的中秋好礼! 送传统 中秋节吃月饼是传统,所以中秋节选择送朋友月饼还是比较应景的。送给朋友、家人、同事一盒精致的月饼意味着合家团圆幸福美满~ 送好茶 中老年许多都有着喝茶的习惯,中…

    2022年7月15日
    610
  • 家用摄像头怎么选择(家用摄像头选购指南及推荐)

    受疫情影响,计划好的旅行泡汤了。不能出去,宅在小院的日子里,总想要搞点啥~ 养了两只狗来看家护院,一只傲娇不爱搭理人,一只特别顽皮记吃不记打。 人不记得几个,麻雀老鼠到抓了不少…想要它俩成为看护门神,似乎有点难! 于是乎,想要安装个摄像头来救场,毕竟不吵不闹还听话,不吃狗粮只充电~ 初印象之简约颜值 家里的空间比较大,在选择摄像头的时候需要考虑下安装方位。不像超市那般,需要多个机位的家庭,在客…

    2022年10月26日
    530
  • 最好的远程控制软件有哪些(常见远程控制软件)

    1:向日葵远程控制 向日葵远程控制软件是一款获得微软认证,界面友好,简单易用,安全放心,且身材迷你小巧。通过向日葵,你可以在世界上任何地点、任何网络中,轻松实现手机控制手机,手机控制电脑,电脑控制电脑。 2:SplashtopPersonal 这是一款强大的远程控制软件,它通过充分利用远程计算机中的图形处理单元,使得这一远程桌面应用能够传输高质量的视频和音频,包括PC到PC,以及PC到Mac。通过…

    2022年5月9日
    890
  • 农村副业有哪些,农村最冷门的3个暴利行业

    咱农户除了种地以外平时还是有空闲时间的,我们总还想做点什么,为人打工还会耽误务农,却还想着挣点额外收入来补贴家用,近几年咱村里的网络、交通、各种经营模式都在变好,咱农户能尝试的“副业”也越来越多,这3个项目都在逐渐崭露头角,值得我们参与。 一、休闲垂钓 垂钓活动近几年来大受欢迎,咱农村有的人家土地面积大,可以自己开凿一个池塘养鱼供大家垂钓,再在附近经营些水果种植,这样一个乡村生态园就基本形成了,咱…

    2022年9月19日
    2710
  • 网页被阻止了怎么办,打开网页被拦截的处理方法

    客户网站被百度网址安全中心提醒您:该站点可能受到黑客攻击,部分页面已被非法篡改! 有的还会被提示百度网址安全中心提醒您:该页面可能存在木马病毒! 百度网址安全中心提醒您:该页面可能已被非法篡改! 事件回忆:12月初,客户刚从公司下班回家,接到领…

    2022年6月5日
    970
  • 网络创业平台有哪些,适合年轻人小本创业项目推荐

    目前,是互联网的时代,网上创业一直都是门槛比较的低的,很多人想通过网上创业实现了财务自由。而财务自由一直以来都是很多人追求的。但是我想说的是,大多数人其实都没有做到。但是至少是可以改变现在的生活状态让你从有一个打工者变成一个自由创业者。那么,如何在网上创业?这里有几个方法任你选,我们一起来看一下。 微信挣钱 微信挣钱的方法很多,比如微信公众号可以通过广点通挣钱,也可以收取广告费投放广告。只要你的微…

    2022年7月20日
    620

发表回复

登录后才能评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信