原文网址:http://www.jianshu.com/p/8e967c1d95c2

从Xcode7之后,苹果支持了免证书调试,但是若是需要调试推送功能,或者需要发布App,则需要使用付费的开发者账户。
证书的配置过程,网上的教程很多、也很详细,对照步骤一步一步来,一般都可以配置成功。
本文主要探索这些步骤背后的机理,以及每一步骤所达到的目的。

本文主要内容有:

  1. 证书配置一般步骤
  2. 每一步骤背后的机理

证书配置一般步骤

1. 钥匙串访问 -> 生成CSR文件
2. 开发者中心 -> Certificates -> add -> iOS App Development -> 上传CSR文件,生成cer证书文件
3. 下载并安装证书文件
3.1. 若上一步中的证书不能识别授权方(此证书是由未知颁发机构签名的),可以下载并安装AppleWWDRCA.cer证书来解决
4. 添加App IDS
5. 添加设备UUID
6. Provisioning Profiles -> add -> 依次选择App ID、certificate、devices,生成描述文件
7. 安装描述文件
8. 真机调试程序,会弹出"codesign"想要使用您的钥匙串中的密钥"xxxx"进行签名,点击允许,可以进行真机调试

每一步骤背后的机理

1. 钥匙串访问 -> 生成CSR文件
# Mac钥匙串中生成一对密钥,包含公钥和私钥,可选中登录&密钥查看。
# CSR文件中包含用户的公钥和邮箱信息
2. 开发者中心 -> Certificates -> add -> iOS App Development -> 上传CSR文件,生成cer证书文件
# WWDR使用CA的密钥对CSR文件进行签名认证,确认这个公钥是属于此开发者账号的
3. 下载并安装证书文件
# 此时的证书是CA加密后的用户公钥和用户信息
3.1. 若上一步中的证书不能识别授权方,可以下载并安装AppleWWDRCA.cer证书来解决
# 不能识别的原因是因为本机没有CA的公钥,不能对签名后的证书进行验证
[https://developer.apple.com/certificationauthority/AppleWWDRCA.cer]
# 证书遵循非对称加密中的“私钥签名 - 公钥验证”
# 所以需要下载CA的公钥进行验证
4. 添加App IDS
# 标识App的bundle ID
5. 添加设备UUID
# 标识那一台iPhone或者iPad
6. Provisioning Profiles -> add -> 依次选择App ID、certificate、devices,生成描述文件
# 真机调试时,Xcode会将描述文件打包入App,描述文件中包含信息的作用
7. 安装描述文件
# 描述文件被添加到~/Library/MobileDevice/Provisioning Profiles路径下
# XCode在编译的时候会自动搜索此目录
8. 真机调试程序,会弹出"codesign"想要使用您的钥匙串中的密钥"xxxx"进行签名,点击允许,可以进行真机调试
# 打包app的时候,Xcode会使用用户的私钥进行签名
文/HonglingHe(简书作者)
原文链接:http://www.jianshu.com/p/8e967c1d95c2
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。

【转】iOS开发者账号和证书的更多相关文章

  1. ios开发者账号、证书相关内容

    背景:因为在实际测试中会涉及到不同的证书,而自己又对证书不了解,所以去查资料了解了一下不同证书的区别,如果有不对的地方,欢迎指正补充.   In House:所有手机都可以安装,但是不能上传到app ...

  2. iOS——关于创建真机调试证书(发布证书,测试(调试)证书,推送调试证书)、iOS开发者账号申请 请用开发者账号去iTunes connect 查看状态

  3. Xamarin iOS教程之申请付费开发者账号下载证书

    Xamarin iOS教程之申请付费开发者账号下载证书 Xamarin iOS使用真机测试应用程序 在讲解iOS Simulator时,已经提到了虽然iOS Simulator可以模仿真实的设备,但是 ...

  4. 苹果IOS开发者账号的区别,企业账号,个人账号,公司团队账号,教育账号

    苹果IOS开发者账号总结 详细地址:https://developer.apple.com/programs/which-program/ 个人账号(Individual): 费用99美金一年, 该账 ...

  5. (转)苹果iOS开发者账号过期临时解决方法

    苹果iOS开发者账号过期临时解决办法 苹果iOS开发者账号一年的费用是99美金,作者最近由于各种原因,导致renew没能在账号过期之前支付好,所以在账号过期等待renew的期间,试了试一些非正常手段, ...

  6. 没有 iOS 开发者账号的情况下部署到真机的方法

    原文发表于我的技术博客 本文分享了官方推荐的没有 iOS 开发者账号的情况下部署到真机的方法,供参考. 原文发表于我的技术博客 1. 官方推荐的方法 原文在此,也就是 Ionic 官方团队在博客中分享 ...

  7. iOS开发者账号证书配置及相关工作

    申请到开发者账号,肯定要先配置一下才可以使用,这主要是iOS证书及配置文件: 以下这篇文章写得比较全面,故不再累赘,需要的同学可以看一下: iOS开发证书与配置文件的使用

  8. 苹果IOS开发者账号总结--发布应用APP时team name是否可以随意写?

    个人账号(Individual): 费用99美金一年, 该账号在App Store销售者只能显示个人的ID,比如zhitian zhang,单人使用.个人账号只能有一个开发者.100个苹果的iOS设备 ...

  9. iOS开发者账号配置进行设备调试

    PS:我特么写了这么久,居然图片消失了,服了. 问题一:苹果开发者账号类型: 分为三种:个人的(99美金一年).组织的(99美金一年)和企业账号(299美金一年),申请时需要信用卡,可以找淘宝的代理申 ...

随机推荐

  1. Android SDK目录含义介绍

    Android SDK目录的具体结构: 1.add-ons:该目录下存放第三方公司为Android平台开发的附加功能系统. 2.build-tools:编译工具.保存着一些通用工具,比如aapt.ai ...

  2. ios NSMethodSignature and NSInvocation 消息转发

    1.首先获取消息转发时连个函数内部具体内容 MARK:这里是拿[@"xxxxx" length]调用拿来举例说明 (lldb) po signature <NSMethodS ...

  3. Oracle 11g之创建和管理表练习

    创建表: SQL> create table name (empno number(4), ename VARCHAR2(10)); 查看表结构: desc name; SQL> desc ...

  4. 定位相关-CLLocationManager的使用。

    #import "ViewController.h" #import <CoreLocation/CoreLocation.h> @interface ViewCont ...

  5. OC单例模式的实现

    SingleClass.m #import <Foundation/Foundation.h> @class SingleClass; static SingleClass *instan ...

  6. 我眼中真正优秀的CTO

    该文转自“肉饼铺子”.作者robbin是前JavaEye网站的创始人,TOPITCLUB互联网俱乐部发起人.  原文链接 现在进入正题,最近几个月,不断有人找我推荐CTO人选,这两年互联网创业和创投实 ...

  7. Java实战之01Struts2-02配置文件

    三.Struts2的配置文件 1.加载时机: 当应用被tomcat加载的时候,struts2的配置文件就已经被加载过了. 2.加载顺序 顺序 配置文件名 所在位置 说明 1 default.prope ...

  8. if参数小结

    条件表达式 if [ -f  file ]    如果文件存在 if [ -d ...   ]    如果目录存在 if [ -s file  ]    如果文件存在且非空 if [ -r file  ...

  9. JQ封装切换滚动功能

    /*---------控制滚动图片v1(作者:SFLYQ)-----------Options 配置对象,(用来配置控制元素的dom位置,初始化一些必要的对象或者方法)DoIni 初始化操作(初始化元 ...

  10. 文件操作 系统备份和还原,压缩,解压 tar dump/restore

    基本操作命令: ls -a 显示指定目录下的目录和文件,包括隐藏的文件和目录 ls -l 将文件和目录详细列出来,包括文件状态,权限,拥有者,文件名,文件大小等 改变工作目录命令 cd cd .. 进 ...