摘要:本文将带你了解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频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号