iOS各个证书生成细节

本文涉及的产品
函数计算FC,每月15万CU 3个月
可观测可视化 Grafana 版,10个用户账号 1个月
性能测试 PTS,5000VUM额度
简介: 在iOS开发中,证书和标识符的配置至关重要。CSR(证书签名请求)由私钥生成,提交给苹果获取`.cer`证书。P12文件由`.cer`证书和私钥导出,用于开发环境。App ID确保应用唯一性。流程包括创建App ID、生成CSR、申请证书并导出P12。主P12和推送P12可使用不同CSR。

![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/7f844f684bdf464eb2169c447a1f4959.png)



注意:

1、CSR 是由私钥+密码生成的;

2、P12就是由CER 经过私钥+密码生成的;




| | **根据什么生成** | |

| --- | :--- | --- |

| <font style="color:#0071c1;background-color:#fff3ce;">CSR</font> | 私钥+公钥 | |

| <font style="color:#04b0f1;">苹果官网证书(certificateContent)--CER</font> | token+上面的<font style="color:#0071c1;background-color:#fff3ce;">CSR</font> | ![](https://i-blog.csdnimg.cn/img_convert/a65891b02e6958bdc34beefb40e51e1c.png) |

| Cer(P12的前身) | 1,<font style="background-color:#dfebf6;">Apps Id(bundleId)</font><br/>2,CSR | 两个推送证书的CER是手工生成 |

| P12 | <font style="color:#04b0f1;">苹果官网证书(certificateContent)</font>+私钥+密码 | |

| **两个推送证书P12**(cer是通过<font style="color:#0071c1;background-color:#f9e5d7;">CSR</font>在苹果官网生成--此步无法自动化) | <font style="color:#04b0f1;">推送证书(Cer)</font>+私钥+密码 | |

| | | |

| profile  | 1,<font style="color:#0071c1;">主证书id</font>: `profileRelationshipsCertificatesData.setId(/*"CRZV4XQ5MF"*/createProfileParam.getCerId())`;<br/>2<font style="color:#0071c1;">,bundleId</font>:通过 `listBundleId(iosCertificatApplyReqDTO, extendIdentifier, token)`查询<br/>3,<font style="color:#0071c1;">token</font> | 注意:会依赖主证书<br/>![](https://i-blog.csdnimg.cn/img_convert/b4eb9ea8df8f45a7d21cb596075a5ba4.png) |

| <font style="color:#0071c1;">Apps Id(bundleId)</font> | 1,包名;<br/>2,需要创建group id进行关联<br/>3,token | |

| Apps Id(bundleId)和主证书的更新没有关系, | 所以更换<font style="color:#04b0f1;">苹果官网证书(certificateContent)</font> ,不用重新生成Apps Id(bundleId) | |

| 更换<font style="color:#04b0f1;">苹果官网证书(certificateContent)</font>需要做什么 | 只需用重新生成profile即可,(不用重新生成Apps Id(bundleId)) | |

| | | |



## **推送证书P12生成流程**



在iOS应用开发中,理解并正确配置证书和标识符对于应用的开发、测试和发布至关重要。以下是对相关概念和文件的详细介绍,以及生成过程的概述:


**1. 证书签名请求(CSR)**


CSR(Certificate Signing Request)是证书签名请求文件。开发者在申请数字证书时,通过Mac上的“钥匙串访问”应用生成CSR文件,其中包含公钥和相关信息。该文件随后提交给苹果,以获取开发或发布证书。


**2. 苹果官网证书(CertificateContent)**


这是苹果开发者网站上生成的数字证书,通常以`.cer`为扩展名。该证书由苹果签名,包含开发者的公钥信息,用于验证应用的真实性和完整性。


**3. Cer(P12的前身)**


`.cer`文件是从苹果开发者网站下载的证书文件,包含公钥信息。为了在开发环境中使用,需要将其与私钥结合,导出为`.p12`格式的证书,以便在Xcode等开发工具中使用。


**4. P12**


`.p12`文件是包含公钥和私钥的个人信息交换文件。它由`.cer`证书和私钥导出而成,通常用于在不同的开发环境中分发和安装证书。


**5. App ID(Bundle Identifier)**


App ID是应用程序的唯一标识符,通常采用反向域名的格式,如`com.example.appname`。在苹果开发者中心注册App ID时,需要指定Bundle Identifier,以确保应用的唯一性。


**6. App ID与P12的生成过程**


以下是从创建App ID到生成P12证书的完整流程:


- **创建App ID:**

 1. 登录苹果开发者账户,进入“Certificates, Identifiers & Profiles”部分。

 2. 选择“Identifiers”并点击“+”按钮添加新的App ID。

 3. 填写描述信息和Bundle Identifier,确保其在整个应用中唯一。


- **生成CSR文件:**

 1. 打开Mac上的“钥匙串访问”应用。

 2. 在菜单栏中选择“证书助理”>“从证书颁发机构请求证书”。

 3. 输入注册苹果开发者账户时使用的电子邮件地址,选择“存储到磁盘”,并点击“继续”生成CSR文件。


- **申请证书:**

 1. 回到苹果开发者中心,选择“Certificates”并点击“+”按钮添加新证书。

 2. 根据需要选择“开发”或“生产”证书类型。

 3. 上传之前生成的CSR文件,苹果将生成相应的`.cer`证书文件。


- **生成P12证书:**

 1. 下载并双击`.cer`文件,将其添加到“钥匙串访问”中。

 2. 在“钥匙串访问”中,找到刚添加的证书,右键选择“导出”。

 3. 选择“个人信息交换(.p12)”格式,设置密码并保存,即生成了包含私钥和公钥的`.p12`证书文件。


通过上述步骤,开发者可以成功创建App ID,并生成用于开发和发布的P12证书,确保应用在苹果生态系统中的安全性和唯一性。


## 问题

1、下面的base64 是哪里生成的?


![](https://i-blog.csdnimg.cn/img_convert/3e302da6fb9506c792d8907102a02b53.png)


![](https://i-blog.csdnimg.cn/img_convert/ea8e25f1c6462fa0a918415f4399c5df.png)


2、主P12和推送P12是否可以使用不同的CSR?


可以





相关文章
|
11月前
|
iOS开发 开发者
【教程】苹果 iOS 证书制作教程
【教程】苹果 iOS 证书制作教程
|
11月前
|
移动开发 前端开发 数据安全/隐私保护
iOS发布证书.p12文件无密码解决办法及导出带密码的新.p12文件方法
iOS发布证书.p12文件无密码解决办法及导出带密码的新.p12文件方法
326 0
|
11月前
|
网络安全 iOS开发
【教程】制作 iOS 推送证书
【教程】制作 iOS 推送证书
153 0
|
1月前
|
存储 数据安全/隐私保护 开发者
苹果app上架app store 之苹果开发者账户在mac电脑上如何使用钥匙串访问-发行-APP发布证书ios_distribution.cer-优雅草卓伊凡
苹果app上架app store 之苹果开发者账户在mac电脑上如何使用钥匙串访问-发行-APP发布证书ios_distribution.cer-优雅草卓伊凡
68 8
苹果app上架app store 之苹果开发者账户在mac电脑上如何使用钥匙串访问-发行-APP发布证书ios_distribution.cer-优雅草卓伊凡
|
1月前
|
iOS开发 开发者 Windows
uniapp云打包ios应用证书的获取方法,生成指南
打包用到的一共两个文件,一个是p12格式的私钥证书,一个是证书profile文件。其中生成p12证书的时候,按照官网的教程,是需要MAC电脑来协助做的,主要是生成一些csr文件和导出p12证书等。其实这些步骤也可以借助一些其他的工具来实现,不一定使用mac电脑,用windows电脑也可以创建。
113 0
|
6月前
|
程序员 iOS开发 开发者
iOS|获取 Distribution Managed 证书的 SHA-1 指纹和公钥
APP 备案时,如何获取 iOS 平台 Distribution Managed 类型证书的证书的 SHA-1 指纹和公钥?
224 0
|
8月前
|
iOS开发
App备案与iOS云管理式证书 ,公钥及证书SHA-1指纹的获取方法
App备案与iOS云管理式证书 ,公钥及证书SHA-1指纹的获取方法
420 0
App备案与iOS云管理式证书 ,公钥及证书SHA-1指纹的获取方法
|
6月前
|
iOS开发 开发者 MacOS
在线创建ios打包证书无需mac
这个文件并不一定需要使用mac OS去创建,在苹果开发者中心,生成了cer格式的证书后,导出p12证书这个过程,其实也并不一定需要mac电脑来完成。
82 0
|
11月前
|
Android开发 iOS开发 开发者
App备案-iOS云管理式证书 Distribution Managed 公钥及证书SHA-1指纹的获取方法
App备案-iOS云管理式证书 Distribution Managed 公钥及证书SHA-1指纹的获取方法
534 0
|
10月前
|
iOS开发 开发者
ios证书申请最简单的教程
使用uniapp进行开发的时候,点击uniapp打包界面的教程,提示需要Mac电脑申请ios证书,但是手上没有mac电脑,几经周折,终于找到了不需要mac电脑生成ios证书的解决方案。今天将解决方案整理出来。
189 10