IOS开发入门iOS 开发 证书--根证书/申请证书/开发(发布)证书--详解
白羽 2019-07-10 来源 :网络 阅读 1249 评论 0

摘要:本文将带你了解IOS开发入门iOS 开发 证书--根证书/申请证书/开发(发布)证书--详解,希望本文对大家学IOS有所帮助。

    本文将带你了解IOS开发入门iOS 开发 证书--根证书/申请证书/开发(发布)证书--详解,希望本文对大家学IOS有所帮助。

IOS开发入门iOS 开发 证书--根证书/申请证书/开发(发布)证书--详解

1.根证书: Apple  Worldwide Developer Relations Certification Authority
   iOS 以及 Mac OS X 系统(在安装 Xcode 时)将自动安装 AppleWWDRCA.cer 这个中间证书(Intermediate  Certificates),它实际上就是 iOS(开发)证书的证书,即根证书(Apple Root Certificate)。
   AppleWWDRCA(Apple Root CA)类似注册管理户籍的公安机关户政管理机构,AppleWWDRCA.cer 之于  iOS(开发)证书则好比户籍证之于身份证。
   无论是开发证书还是生产证书,都必须从根证书上派生。根证书就是根mac产生的证书,menber  center上保存的那个证书就是根证书,它只能安装在创建它的那台mac上,其他的开发mac必须从那台根mac上导出证书使用。也就是所有的子证书都只能从根证书派生而来。
   
   2.申请证书(CSR:Certificate Signing Request)
   可以在缺少证书时通过 Xcode Fix Issue 自动请求证书,但是这会掩盖其中的具体流程细节。这里通过 Keychain  证书助理从证书颁发机构请求证书:填写开发账号邮件和常用名称,勾选【存储到磁盘】。
   
   Keychain Access(钥匙串访问)/Keys(密钥) 中将新增一对非对称密钥对 Public/Private Key  Pair(公钥和私钥)。同时,keychain(钥匙串) 将生成一个包含开发者身份信息和公钥的CSR(Certificate Signing Request)文件——CertificateSigningRequest.certSigningRequest。
   
   私钥 private key 始终保存在 Mac OS 的 Keychain Access 中,用于签名(CodeSign)本机对外发布的  App;公钥 public key 一般随证书(随Provisioning Profile,随App)散布出去,对 App  签名进行校验认证。用户必须妥善保存本地 Keychain 中的 private key,以防伪冒。
   在 Apple 开发网站上传包含公钥的 CSR 文件作为换取证书的凭证(Upload CSR file to generate your  certificate)
   
   Apple 证书颁发机构 WWDRCA(Apple WZ喎�"/kf/ware/vc/"  target="_blank"  class="keylink">vcmxkd2lkZSBEZXZlbG9wZXIgUmVsYXRpb25zIENlcnRpZmljYXRpb24gQXV0aG9yaXR5KSC9q8q508PG5CBwcml2YXRlIGtleSC21CBDU1Ig1tC1xCBwdWJsaWMga2V5ILrN0rvQqcntt93Qxc+ivfjQ0LzTw9zHqcP7yfqzycr919bWpMrpo6hpb3NfZGV2ZWxvcG1lbnQuY2Vyo6myorzHwrzU2rC4o6hBcHBsZSBNZW1iZXIgQ2VudGVyo6k8YnIgLz4NCjxpbWcgYWx0PQ=="这里写图片描述"  src="/uploadfile/Collfiles/20161103/201611030939391524.png"  title="\" />
   从 Apple Member Center 网站下载证书到 Mac 上双击即可安装(当然也可在 Xcode  中添加开发账号自动同步证书和[生成]配置文件)。证书安装成功后,在 KeychainAccess"Keys 中展开创建 CSR 时生成的 Key  Pair 中的私钥前面的箭头,可以查看到包含其对应公钥的证书(Your requested certificate will be the public  half of the key pair.);在 Keychain Access|Certificates  中展开安装的证书(ios_development.cer)前面的箭头,可以看到其对应的私钥。
   
   Certificate 应被配置到【Xcode Target"Build Settings|Code Signing|Code Signing  Identity】下,下拉选择 Identities from Profile “…”(一般先配置 Provisioning Profile)。以下是  Xcode 配置示例:
   
   3.开发/发布证书
   iOS 证书是用来证明 iOS App 内容(bundle with executable and  resources)的合法性和完整性的数字证书。对于想安装到真机或发布到 AppStore 的应用程序(App),只有经过签名验证(Signature  Validated)才能确保来源可信,并且保证 App 内容是完整、未经篡改的。
   它的作用就是证明你的mac具有开发或发布某个开发者账号下应用的权限。而且证书还分成两种,一种是开发证书,也叫Development  certificate; 另一种是发布证书或叫生产证书,英文名叫Production certificate。
   development  certificate:开发证书是证明你的mac具有开发和真机调试你的程序的东西。但是每个证书关联着一个开发者账号,也就是说,你只能使用这个证书开发这个账号底下的应用,它是通过bundle  id来知道该应用是不是属于自己的账号。所以,每次为一个开发者帐号开发应用,就得需要这个账号创建的开发证书。
   Production  certificate:生产证书是证明你的mac是否具有发布应用的权限。在archive到appstore的时候,必须有生产证书,否则时上传不成功的。
   ?12345671. 众所周知,我们申请一个Certificate之前,需要先申请一个Certificate Signing Request (CSR)  文件, 2.  这个过程中实际上是生成了一对公钥和私钥,保存在你Mac的Keychain中。代码签名正是使用这种基于非对称秘钥的加密方式,用私钥进行签名,用公钥进行验证。 3.  在你Mac的keychain的login中存储着相关的公钥和私钥,而证书中包含了公钥。你只能用私钥来进行签名,所以如果没有了私钥,就意味着你不能进行签名了,所以就无法使用这个证书了,此时你只能revoke之前的证书再申请一个。 4.  因此在申请完证书时,最好导出并保存好你的私钥。当你想与其他人或其他设备共享证书时,把私钥传给它就可以了。私钥保存在你的Mac中,而苹果生成的Certificate中包含了公钥。当你用自己的私钥对代码签名后,苹果就可以用证书中的公钥来进行验证,确保是你对代码进行了签名,而不是别人冒充你,同时也确保代码的完整性等。    

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之IOS频道!

本文由 @白羽 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程