原文网址: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. 有理数类 Java

    public class Rational extends Number implements Comparable { private long numerator;// 分子 private lo ...

  2. java对图片的裁剪(包括来自网络的图片)

    import java.awt.Rectangle; import java.awt.image.BufferedImage; import java.io.File; import java.io. ...

  3. oracle 定义临时表

    创建Oracle 临时表,可以有两种类型的临时表: 会话级的临时表 事务级的临时表 . 1) 会话级的临时表因为这这个临时表中的数据和你的当前会话有关系, 当你当前SESSION不退出的情况下,临时表 ...

  4. Ubuntu 使用top/free查看内存占用大的原因

    Ubuntu 使用top/free查看内存占用大的原因     linux/ubuntu下free/top查看内存占用大的原因 使用free/top查看内存占用的时候,吓了一大跳,机器4GB的内存,显 ...

  5. OpenCV(6)-腐蚀和膨胀

    腐蚀和膨胀属于形态学操作. 腐蚀和膨胀 腐蚀是指:将卷积核B滑过图像A,找出卷积核区域内最小像素值作为锚点像素值.这一操作可以扩大低像素值区域. 膨胀是指:将卷积核B滑过图像A,找出卷积核区域内最大像 ...

  6. error signing assembly unknown error

    用VS2010 编译 C#工程,出现 Cryptographic failure while signing assembly 'Assembly.dll' -- 'Unknown error (80 ...

  7. Eclipse相关

    JDK版本更换相关: 启动eclipse会报错:根据报错信息后面提示的eclipse配置信息,我将配置中的c:/xx/javaw.exe给移除了.并在eclipse.ini中配置了-vm d:/Jav ...

  8. LAMP 环境 快速安装

    (一)安装Apache 1.下载安装 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 yum install zlib-devel -y wget http://m ...

  9. uglifyjs 压缩js

    第一步 安装nodejs dos下执行 node -v npm -v

  10. Nginx常用伪静态规则(rewrite)-Discuz X3.2-WordPress-PHPCMS-ECSHOP-SHOPE(转)

    当我们从apache服务器转向Nginx服务器的时候,它们的伪静态规则就不一样了,所以你熟悉Nginx服务器的伪静态规则,自己写当然也好.不了解Nginx服务器的伪静态规则的,为方便各位站长,收集了这 ...