iOS证书深究

iOS证书深究

iOS的系列证书很令人头痛,但是也提供了完整的保护。

在开发过程中,遇到的基本的证书有Xcode真机调试或者打包用证书,也有消息推送证书等;每种证书分为开发版(development)和发布版(distribute)。除了证书,还有概要配置文件。众多的分类和配置,很容易混淆,接下来详细描述一番,并解释我的理解。

先看苹果开发者中心的证书界面。主要分类为:Certificate、AppID、Device、Provisioning Profile。

AppID是一切的开始,就如一个身份证,和每个人是唯一对应的;根据identifier生成不同类型的证书,都在Certificate列表里,证书之间都是平等关系,例如消息推送证书不是根据打包证书生成的,而同样是根据identifier产生的;Device列表管理测试用设备;Provisioning
Profile是概要配置文件,是联系identifier、设备、证书的一个纽带,一般先选择AppID,然后指定证书和测试设备,进而产生作为纽带的配置文件。

除了上述对象,在产生部分文件过程中,还有一个证书签名请求文件(CSR),这是标识Mac
OS系统的,上述文件要用在哪台Mac机上,就用该机钥匙串生成的CSR文件。

不然,会出现如下错误:将非本Mac机CSR文件支持产生的证书导入钥匙串,是找不到私钥的,这样就无法在Xcode中使用。

各种证书的生成方法和过程,想必不会太纠结,按照提示就可以了,关键在于使用过程中的关系。

证书生成好以后,下载下来,双击,就会自动加载到钥匙串的“登陆”项中,有私钥就说明添加成功了。概要配置文件也是双击,会自动加载到Xcode中。然后去Xcode的Target编译设置中,找到Code
Signing项,对应debug、release、distribute三种模式,先选择相应的配置文件,然后在证书配置项里就可以看到跟配置文件关联的证书选项。

介绍一下推送证书。推送证书是根据AppID产生的,然后下载下来,格式为.cer,也可以先双击加入钥匙串,然后在钥匙串中导出p12格式的文件,也可以生产.pem格式,供不同推送程序直接加载使用。而推送证书跟应用的唯一关联关系,就存储于概要配置文件中,所以应该先生产推送证书,后生成概要配置文件。否则就会引发推送无效的问题。

再说一下Ad
Hoc证书。这种证书跟发布版(distribute)类似,也就是说可以Archive成ipa安装包。但是不能上传到AppStore中。主要用于给远方合作的测试人员使用。这样既解决了远距离安装测试的问题,也避免了ipa包被他人传到AppStore中。

 

补充:

开发版和发布版证书会产生不同的deviceToken,但是只有前者才能在Xcode中log输出看到,因为后者只能Archive打包成ipa包,所以为了测试,可以show一个UIAlertView出来。

这就引申出消息推送的一个问题。在测试开发版和发布版app时候,同一台设备,会产生两个deviceToken,切记不要搞错了推送目标!

iOS证书深究,布布扣,bubuko.com

时间: 2024-12-13 10:11:35

iOS证书深究的相关文章

【知识点】iOS证书的分类和申请介绍

iOS证书的分类   1.ios测试证书(安装到非越狱手机测试调试) iOS测试证书申请介绍 2.iOS发布证书(发布上架到App Store) iOS发布证书申请介绍 3.iOS推送证书(app如果有推送功能需要) iOS推送证书申请介绍 4.iOS开发证书(xcode开发测试用) iOS开发证书申请介绍 5.iOS企业证书(不上架App Store直接使用) iOS企业证书申请介绍 常用的iOS证书就是这几类,不同的使用环境.对应不同的iOS证书,根据需求去创建.

【新技术】免ios开发者账号申请ios证书打包ipa真机调试

虽然xcode现在可以免证书进行测试了,但众多跨平台开发者,如果还没注册苹果开发者账号. 想安装到自己非越狱手机测试是无能为力了. 不过新技术来了,只需要普通免费的苹果账号无需付费成为开发者就可以申请iOS证书打包ipa安装到自己手机测试,强大吧! 这个神器就是Appuploader,ios app测试及上架辅助工具. Appuploader安装教程 当然如果要上架App Store还是需要注册一个付费的苹果开发者账号. 如果只是安装ios应用到自己手机测试,现在只需要注册一个普通的苹果账号就行

iOS证书相关概念详解

关于开发证书配置(Certificates&Identifiers&Provisioning Profiles),相信做iOS开发的同学没少被折腾,本文将对相关概念做个系统的梳理. 在进行iOS证书申请之前,假设你使用过Apple设备且注册过Apple ID.首先,必须加入苹果开发者计划(Enrollin iOS Developer Program to become a member),分为Individual和Company/Organization两种类型. 下文主要基于个人开发者账

ios证书--不用Mac钥匙串创建iOS证书

iOS证书分两大块,开发证书和发布证书,对应的还有开发描述文件和发布描述文件. 我们在开发发布iOS应用中,要申请各种的证书,在开发者中心创建这些证书比较麻烦,最气的是开发者中心的访问速度时快时慢,经常为了创建一个证书花费大量时间,而且也还要Mac电脑钥匙串,如果没有Mac只能干瞪眼,跨平台开发的可能没搭建Mac环境,下面介绍在Windows环境下不用钥匙串迅速创建iOS各类证书及描述文件的方法,不用耗时耗力了. 这里用到一个工具Appuploader,可以在Windows.Linux和Mac系

iOS 证书那些事

关于开发证书配置(Certificates & Identifiers & Provisioning Profiles),相信做iOS开发的同学没少被折腾.对于一个iOS开发小白.半吊子(比如像我自己)抑或老兵,或多或少会有或曾有过以下不详.疑问.疑惑甚至困惑: 什么是App ID?Explicit/Wildcard App ID有何区别?什么是App Group ID? 什么是证书(Certificate)?如何申请?有啥用? 什么是Key Pair(公钥/私钥)?有啥用?与证书有何关联

iOS 证书与签名 解惑详解

iOS 证书与签名 解惑详解 分类: iPhone2012-06-06 19:57 9426人阅读 评论(1) 收藏 举报 iosxcodecryptographyappleiphone测试 目录(?)[+] 教程截图: 下面是一篇有澳洲墨尔本的一名全职iOS开发者提供的文章.他在论坛上是一个很摩登的年轻人 – Adam Eberbach. ·Bundle identifier ·provisioning profiles ·App ID ·certificate signing request

iOS -证书制作

iOS证书制作攻略及配置注意事项 使用APICloud平台开发APP商用,首先得有开发者账号和各种证书,之后云编译打包正式版,上传到appstore审核上架.现在APICloud特别推出,证书申请和配置在控制台配置证书的注意事项的攻略,提供给大家. 云编译p12证书制作 生成certSigningRequest文件 如图,打开应用程序->实用工具->钥匙串访问 如图,选择从证书颁发机构请求证书 接下来填写邮件地址,选择存储到磁盘,点击继续 如图,保存文件到桌面. 制作p12证书 首先打开苹果开

李洪强iOS之集成极光推送二iOS 证书 设置指南

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px "PingFang SC"; color: #000000 } span.s1 { } span.s2 { font: 18.0px Menlo } 创建应用程序ID 登陆 iOS Dev Center 选择进入iOS Provisioning Portal. 在 iOS Provisioning Portal中,点击App IDs进入App ID列表. 创建 App ID,如果

iOS证书申请详细流程

一.事前准备 1.1 准备苹果帐号 首先您需要有一个苹果的开发者帐号,一个mac系统.如果没有帐号可以打开申请加入苹果的开发者计划.如何申请网上有详细的介绍,在此不多做介绍. 如果您已经有了一个帐号,打开并登录到苹果,见下图: 1.2 进入证书申请界面 登录以后可以看到下面这个功能界面,列出了您开发需要的一些工具.支持.itunes app管理等内容.选择第二项:Certificates,ldentifiers&Profiles进入,所有证书相关的都在这里进行: 1.3 申请请求文件 1.3.1