ios证书
内容提要:
安装app时提示 “无法下载应用,此时无法安装“XXX””。我遇到过多次是由于ios的app出现证书问题。本篇文章讲解用ios证书制作过程,以及每个步骤的解释。
正文:
Xcode签名至少需要2样东西:证书和配置文件。证书有效一年,通常只要不过期不会需要更新,只跟开发账户有关。配置文件则跟app的权限、绑定的设备等很多内容相关。虽然有效期同为一年,但是由于经常需要添加测试设备或者增减app的权限设置(如apple pay,app group等),经常需要更换。而工程文件里,证书是通过名字在索引的,而配置文件则是通过UUID来索引。
打包或运行真机app,需三步认证:
(1)需要证书对应的私钥来进行签名,用于标识这个App是否合法、安全、完整;
(2)需AppId,并验证Bundle ID是否与其一致;
(3)若真机测试,需确认这台iphone设备是否授权。
用ios证书打包app步骤:
(1)在mac的钥匙串中,生成.certSigningRequest文件(即CSR文件);
解释:
keychain生成一个包含开发者身份信息的CSR(Certificate Siging Request)文件,同时,KeyChain Access|Keys中新增一对Public|Private Key Pair。
private key始终保存在Mac OS的Keychain Access中,用于签名对外发布的APP;
public key随证书(随provisioning profile,随APP)散布出去,对APP签名进行校验认证。
(2)在apple的开发者网站上,使用.certSigningRequest文件,生成.cer文件;
解释:
Apple证书颁发机构WWDRCA(Apple Worldwide Developer Relations Certificate Authority)将使用private key对CSR中的public key和一些身份信息进行加密生成数字证书(ios_development.cer),并记录在案(Apple Member Center)。
(3)下载.cer文件到MAC,双击安装证书。然后在keychain access中看到证书,此keychain里的证书,可右键导出成p12;
解释:
除了下载.cer文件到MAC上双击安装证书,还可以在Xcode中添加开发者账号自动同步证书和[生成]配置文件。
证书安装成功后,keychain Access|keys ——》 公钥
keychain Access|certificates ——》 私钥(即ios_development.cer文件)
certificate在Xcode中的位置:Xcode Target | Build Setting |Code Signing | Code Signing Identity 下有 Identities from profile
(4)使用appid和.cer文件生成.mobileProvision文件;
解释:
Xcode将配置文件provisioning profile 放在目录 ~/Library/MobileDevice/Provisioning Profiles下。
(5)用p12和.mobileprovision打包;
上面提到的文件的关系可以用下图表示:

(https://github.com/SheronLv/Images/tree/master/mobileProfile)
ios证书的更多相关文章
- iOS证书失效
iOS证书突然失效 今早上班打包直接报错,错误如图 根据错误信息到“钥匙串”里面看了一下证书,证书都莫名其妙的失效了,昨天还是好好的. 重新去钥匙串从证颁发中心获取证书,然后登陆开发者账号重新申请证书 ...
- IOS证书/私钥/代码签名/描述文件
1. 相关资源 (1) 钥匙串程序(常用工具->钥匙串),用于创建证书请求.安装证书.导出私钥等 (2) IOS开发中心:https://developer.apple.com/de ...
- iOS证书申请详细流程
一.事前准备 1.1 准备苹果帐号 首先您需要有一个苹果的开发者帐号,一个mac系统.如果没有帐号可以打开申请加入苹果的开发者计划.如何申请网上有详细的介绍,在此不多做介绍. 如果您已经有了一个帐号, ...
- iOS 证书申请和使用详解(详细版)
对于iOS开发者来说,apple开发者账号肯定不会陌生.在开发中我们离不开它.下面我简单的为大家分享一下关于iOS开发中所用的证书相关知识. 第一部分:成员介绍 1.Certification(证书) ...
- iOS 证书调试的理解(Personal)
证书签名 证书:众所周知,我们申请一个Certificate之前,需要先申请一个Certificate Signing Request (CSR) 文件,而这个过程中实际上是生成了一对公钥和私钥,保存 ...
- 阐明iOS证书和provision文件
译:阐明iOS证书和provision文件 许多iOS开发人员都会和你说在iOS开发很困惑的问题之一,将app真正运行在真实的设备(iPhone iPad而不是模拟器),因为所有的这些都会涉及从苹果获 ...
- 真机测试---iOS证书(.p12)和描述文件(.mobileprovision)
iOS证书和描述文件: 证书类型 使用场景 开发(Development)证书和描述文件 用于开发测试,在starain中打包后可在真机环境通过Safari调试 发布(Distribution)证书和 ...
- (转)iOS 证书、密钥及信任服务
iOS 证书.密钥及信任服务 ——翻译自Apple Reference<Certificate,Key,and Trust Services Programming Guide> 本章描述 ...
- iOS 证书与签名 解惑详解
iOS 证书与签名 解惑详解 分类: iPhone2012-06-06 19:57 9426人阅读 评论(1) 收藏 举报 iosxcodecryptographyappleiphone测试 目录 ...
随机推荐
- .net如何把导数据入到Excel
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI ...
- CodeForces Round 199 Div2
完了,这次做扯了,做的时候有点发烧,居然只做出来一道题,差点被绿. My submissions # When Who Problem Lang Verdict Time Memory 443 ...
- ASP.NET后台JS弹框使前台页面样式丢失 解决办法
Response.Write("<script>alert('您还没有上传相关图片!');</script>");是向前台输出js 应该用下面的方法 Cli ...
- [译]- 6-1 排列窗体上的控件(Laying Out Widgets on a Form)
排列窗体上的控件(Laying Out Widgets on a Form) 中英文对照:form(窗体),layout(布局或者排列,意思是进行窗体上控件的排列的过程,如大小位置等) absolu ...
- ajax无刷新获取php后台数据
$.ajax({ url:"result.php", //data:{"page":i}, dataType:"json", beforeS ...
- php 经典分页(推荐和laypage配合)
学习地址:http://www.imooc.com/video/2463 <?php //(ps:推荐使用laypage整站式跳转来渲染分页按钮样式比较舒服http://laypage.layu ...
- ajax利用json进行服务器与客户端的通信
1.JQuery中$.ajax()方法参数详解 http://blog.sina.com.cn/s/blog_4f925fc30100la36.html 2.服务器端获取String que=requ ...
- CSV to XLSX (专用)
$csvFile = "F:\ACL\HZ ACL\ACL-APAC.CSV" $path = "F:\ACL\HZ ACL\ACL-APAC.XLSX" $r ...
- Jenkins学习记录
参考资料 官方文档 用MSBuild和Jenkins搭建持续集成环境(1) 用MSBuild和Jenkins搭建持续集成环境(2) 构建基于Jenkins + Github的持续集成环境 Jenkin ...
- lua学习笔记
工作需要,上周对lua赶进度似地学习了一遍,主要参考<lua中文教程>一书,中间参考一些<lua游戏开发实践>,首先说说这两本书,后者不适合初学,里面是对一个游戏脚本系统进行粗 ...