原文网址: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. EF中使用语句 或存储过程 查询(转)

    EF中使用语句 或存储过程 查询 1.无参数查询 var model = db.Database.SqlQuery("select* from UserInfoes ").ToLi ...

  2. ORACLE no1 存储过程插入更新表数据

    CREATE OR REPLACE PROCEDURE sp_cust_main_data_yx(InStrDate  IN VARCHAR2,                             ...

  3. iOS常见的设计模式

    ios开发学习中,经常弄不清楚ios的开发模式,今天我们就来进行简单的总结和探讨~ (一)代理模式 应用场景:当一个类的某些功能需要由别的类来实现,但是又不确定具体会是哪个类实现.优势:解耦合敏捷原则 ...

  4. DAG模型——硬币问题

    硬币问题 有n种硬币,面值分别为V1,V2,...,Vn,每种都有无限多.给定非负整数S,可以选用多少个硬币,使得面值之和恰好为S?输出硬币数目的最小值和最大值.1<=n<=100, 0& ...

  5. Nuage SDN

    Nuage推出纯软件解决方案虚拟化业务平台(VSP)由三部分组成:虚拟化业务目录(VSD).虚拟化业务控制器(VSC)和虚拟路由与交换(VRS). VSD是业务/IT策略引擎,可提供业务模板与分析,每 ...

  6. Gradle教程之任务管理

    简要概述依赖管理 不算完美的依赖管理技术 自动管理依赖的重要性 自动依赖管理面临的挑战 声明依赖 外部模块依赖 文件依赖 配置远程仓库 这一章我将介绍Gradle对依赖管理的强大支持,学习依赖分组和定 ...

  7. ilasm.exe与ildasm.exe的使用(编译与反编译)

    ilasm.exe与ildasm.exe的使用(编译与反编译)   首先打开cmd命令.cd 到 C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0 ...

  8. top工具

    top 显示进程所占系统资源 能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器. top命令打印出了很多信息,包括系统负载(loadaverage).进程数(Tasks).c ...

  9. 响应式页面字体用什么单位:rem

    html:62.5%//10pxbody:1.4rem;//14px... <!doctype html> <html> <head> <title>a ...

  10. html5异步上传图片显示上传文件进度条

    <html> <head> </head> <body> <p> emo_album_id:<input type="tex ...