1. Mac生成CSR证书签名请求文件完整步骤(对应你页面要上传的文件)

你页面需要上传的是 .certSigningRequest 后缀的CSR文件,只能在Mac系统用「钥匙串访问」生成,官方标准流程如下:
1.1. 打开钥匙串访问(Keychain Access)
两种快速打开方式:
- 聚焦搜索:按
Command + 空格调出Spotlight,输入钥匙串访问/Keychain Access回车打开 - 访达路径:应用程序 → 实用工具 → 钥匙串访问
1.2. 调出证书助理创建请求
顶部菜单栏依次点击: 钥匙串访问 → 证书助理 → 从证书颁发机构请求证书
1.3. 三、填写信息(关键参数)
弹窗填写3项内容:
- 用户电子邮件地址:填你苹果开发者账号注册邮箱
- 常用名称:自定义密钥名称(比如
iOS开发密钥、Apple Distribution,方便区分) - CA电子邮件地址:留空不要填
- 请求选项:勾选 存储到磁盘(Saved to disk) 填完点「继续」
1.4. 保存CSR文件到本地
- 选择保存位置(推荐桌面,好找)
- 文件后缀固定为
.certSigningRequest,无需修改文件名 - 点击存储,桌面会生成CSR文件
1.5. 回到开发者后台上传
回到你截图里的页面,点击 Choose File,选中刚才生成的 .certSigningRequest 文件上传,即可创建苹果证书。
1.6. 补充重要提示
- 生成CSR时,Mac会自动在钥匙串生成一对公钥+私钥,私钥存在本机,不要删除钥匙串里对应的密钥,否则后续无法导出p12签名打包
- 一台Mac生成的CSR只能在本机导出证书私钥,换电脑必须重新生成CSR
- 若没有Mac,也可通过OpenSSL终端命令行生成CSR,但Xcode打包签名会更麻烦,优先用钥匙串官方方式
2. HBuilderX打包iOS所需.p12私钥证书完整生成流程

2.1. 整体流程串联(从上一张CSR页面到最终p12)
- Mac钥匙串生成CSR文件 → 苹果开发者后台上传CSR创建证书 → 下载证书导入钥匙串 → 导出
.p12私钥证书(就是你截图里的证书.p12)
2.2. 先做CSR(之前页面的步骤)
- 打开「钥匙串访问」→ 顶部菜单:钥匙串访问 → 证书助理 → 从证书颁发机构请求证书
- 邮箱填开发者账号邮箱,常用名称随便写,勾选「存储到磁盘」,保存得到
.certSigningRequestCSR文件 - 回到苹果开发者后台
Create a New Certificate页面,上传这个CSR,选择证书类型:- 测试打包(真机调试/测试包):iOS Development
- 上架App Store:Apple Distribution
- 创建完成后下载
.cer证书文件到Mac
2.3. 把下载的cer证书导入钥匙串
- 双击下载好的
xxx.cer文件,自动打开钥匙串访问,选择登录钥匙串导入 - 左侧切换到「登录」→「我的证书」,能看到刚导入的证书,展开证书左边小三角,能看到配套私钥(必须有私钥才能导出p12)
重点:私钥是生成CSR时本机自动创建的,换电脑、删钥匙串密钥都会丢失私钥,无法导出p12
2.4. 导出HBuilderX要用的.p12私钥证书(生成截图里的文件)
- 选中带私钥的整条证书(证书+展开后的私钥一起)
- 右键 → 导出“xxx...”
- 存储位置选Downloads(下载文件夹,对应你路径
/Users/guowangyang/Downloads/),文件格式选择:个人信息交换(.p12),文件名填「证书」,点存储 - 设置p12密码(HBuilderX打包时必须填写这个密码,切记保存)
- 输入Mac本机开机密码授权导出,完成后Downloads里就生成
证书.p12
2.5. HBuilderX配置使用
打开HBuilderX发行打包iOS界面,填写两项:
- 私钥证书路径:选择
/Users/guowangyang/Downloads/证书.p12 - 证书密码:刚才导出p12时设置的密码
- 配套还需要创建对应Provision描述文件,和p12搭配才能打包
2.6. 常见踩坑说明
- 钥匙串看不到私钥:说明这台Mac不是当初生成CSR的电脑,无法导出p12,必须回到原Mac操作,或重新生成CSR、证书
- 导出时没有.p12选项:没有选中证书下的私钥,要展开三角同时选中证书+私钥
- HBuilderX提示证书错误:p12密码填错、证书类型不对(开发/分发混淆)、描述文件和证书不匹配
3. HX 安心打包报错问题

签名失败
当前系统没有安装苹果根证书,是否打开证书目录(打开后依次安装证书AppleWWDRCAG3.cer,DeveloperIDCA.cer)
解决方案,除了安装提示中的那两个证书外,还删除了之前的 Apple Distribution 证书,重新导入了一次!