iOS各个证书生成细节

注意:

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

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

根据什么生成
CSR 私钥+公钥
苹果官网证书(certificateContent)--CER token+上面的CSR
Cer(P12的前身) 1,Apps Id(bundleId) 2,CSR 两个推送证书的CER是手工生成
P12 苹果官网证书(certificateContent)+私钥+密码
两个推送证书P12(cer是通过CSR在苹果官网生成--此步无法自动化) 推送证书(Cer)+私钥+密码
profile 1,主证书id: profileRelationshipsCertificatesData.setId(/*"CRZV4XQ5MF"*/createProfileParam.getCerId()); 2,bundleId:通过 listBundleId(iosCertificatApplyReqDTO, extendIdentifier, token)查询 3,token 注意:会依赖主证书
Apps Id(bundleId) 1,包名; 2,需要创建group id进行关联 3,token
Apps Id(bundleId)和主证书的更新没有关系, 所以更换苹果官网证书(certificateContent) ,不用重新生成Apps Id(bundleId)
更换苹果官网证书(certificateContent)需要做什么 只需用重新生成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 是哪里生成的?

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

可以

相关推荐
RollingPin15 小时前
iOS八股文之 网络
网络·网络协议·ios·https·udp·tcp·ios面试
云知谷19 小时前
【C++基本功】C++适合做什么,哪些领域适合哪些领域不适合?
c语言·开发语言·c++·人工智能·团队开发
rit843249920 小时前
基于MATLAB实现基于距离的离群点检测算法
人工智能·算法·matlab
初学小刘21 小时前
深度学习:从图片数据到模型训练(十分类)
人工智能·深度学习
递归不收敛21 小时前
大语言模型(LLM)入门笔记:嵌入向量与位置信息
人工智能·笔记·语言模型
之墨_1 天前
【大语言模型】—— 自注意力机制及其变体(交叉注意力、因果注意力、多头注意力)的代码实现
人工智能·语言模型·自然语言处理
从孑开始1 天前
ManySpeech.MoonshineAsr 使用指南
人工智能·ai·c#·.net·私有化部署·语音识别·onnx·asr·moonshine
墨风如雪1 天前
DeepSeek OCR:用'眼睛'阅读长文本,AI记忆新纪元?
aigc
涛涛讲AI1 天前
一段音频多段字幕,让音频能够流畅自然对应字幕 AI生成视频,扣子生成剪映视频草稿
人工智能·音视频·语音识别
可触的未来,发芽的智生1 天前
新奇特:黑猫警长的纳米世界,忆阻器与神经网络的智慧
javascript·人工智能·python·神经网络·架构