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?

可以

相关推荐
海螺_AIHCC2 小时前
LLM 返回的 JSON 十次坏三次,别急着骂模型——60 行容错解析器先兜住(附可运行代码)
人工智能
露天赏雪2 小时前
第3篇:Sentinel熔断降级实战:大模型接口抖动时的服务兜底方案
java·开发语言·人工智能·spring boot·spring·servlet·sentinel
lisw052 小时前
理解推理大语言模型的可监控性!
人工智能·语言模型·自然语言处理
天天被压力2 小时前
【A股分钟级高频数据完全手册 #06】北交所分钟级数据接口:京市股票Pro版最新分时
java·人工智能·python
在所不辞兄2 小时前
为什么学习率预热(warmup)能显著改善Transformer等大模型的训练稳定性?
人工智能·深度学习·神经网络·机器学习·智能仿真
天天被压力2 小时前
【A股分钟级高频数据完全手册 #05】指数历史分钟数据接口:Pro版沪深指数分时回放
java·人工智能·python
ndz3 小时前
在 ModelFold 使用 Claude:无需代理,稳定可靠的日常开发体验
人工智能·api
adinnet20263 小时前
研发提效实战:AI智能体接手代码审查、 文档生成和技术沉淀
人工智能·小艾智能体·ai研发助手·代码审查自动化
寂寞的船3 小时前
【Unity知识速递】第5期 Unity 6.2 深度解析:AI Assistant 登场,World Space UI 与 Sentis 全面升级
人工智能·ui·unity
starrysky8104 小时前
Hermes Agent 升级 v0.23.0:工具恢复、长会话与分层验收
人工智能