文章目录
- 一、前置准备
- ⼆、安装Windows版 OpenSSL
- 三、新建证书文件夹(规范路径,避免报错)
- 四、打开CMD并进⼊证书⽂件夹
- 五、⽣成CSR签名请求⽂件(关键步骤)
- 六、苹果开发者后台上传CSR,⽣成cer证书
- 七、将 cer 证书转成 p12 证书(打包必备)
- ⼋、制作描述⽂件(.mobileprovision)
- 九、证书和描述⽂件的使⽤(以 HBuilderX 云打包为例)
- ⼗、常⻅问题及解决⽅法
- ⼗⼀、注意事项
一、前置准备
- 设备:Windows 10/11 电脑(⽆需 Mac);
- 账号:已付费开通的 Apple 开发者账号(个⼈/公司均可);
- 项⽬信息:提前确定好项⽬的 Bundle ID(例如:com.xxx.appname,需唯⼀,与后续操作保持⼀致);
- ⼯具:OpenSSL(免费开源,仅需安装⼀次);
⼆、安装Windows版 OpenSSL
- 下载地址:https://slproweb.com/products/Win32OpenSSL.html
- 下载版本:下拉⻚⾯,选择「Win64 OpenSSL Light 最新版」(⽆需下载完整版,轻量版⾜够);
- 安装操作:双击安装包,全程点击「下⼀步」,默认安装路径即可,⽆需修改任何设置,安装完成后关闭窗⼝。
三、新建证书文件夹(规范路径,避免报错)
- 在电脑桌⾯,新建⼀个⽂件夹,命名为「iOS证书」(名字可⾃定义,建议简单好记);
- 打开该⽂件夹,复制地址栏中的完整路径(例如:C:\Users\你的⽤⼾名\Desktop\iOS证书),备⽤。
四、打开CMD并进⼊证书⽂件夹
- 按下 Win+R 键,输⼊「cmd」,按下回⻋,打开命令提⽰符(CMD)窗⼝;
- 在 CMD 中输⼊命令(将路径替换为你刚才复制的「iOS证书」⽂件夹路径),⽰例命令:cd C:\Users\你的⽤⼾名\Desktop\iOS证书;
- 输⼊完成后按下回⻋,此时 CMD 路径会切换到「iOS证书」⽂件夹(后续所有命令均需在此路径下执⾏)。
五、⽣成CSR签名请求⽂件(关键步骤)
- 在 CMD 窗⼝中,直接复制粘贴以下命令,按下回⻋:
openssl req-new-keyoutprivate.key-outcert.csr-nodes执⾏命令后,会提⽰依次填写信息,按以下要求填写,未要求填写的项直接按下回⻋跳过:
- Country Name (2 letter code) []: 输⼊「CN」(⼤写,代表中国)
- State or Province Name (full name) []: 输⼊省份拼⾳(例如:Hebei)
- Locality Name (eg, city) []: 输⼊城市拼⾳(例如:Handan)
- Organization Name (eg, company) []: 输⼊个⼈/公司名称拼⾳(随便填写即可)
- Organizational Unit Name (eg, section) []: 直接回⻋跳过
- Common Name (eg, YOUR name) []: 输⼊你的 Apple 开发者账号邮箱(必须正确)
- Email Address []: 输⼊与上⾯⼀致的开发者邮箱
- A challenge password []: 直接回⻋跳过
- An optional company name []: 直接回⻋跳过
执⾏完成后,回到「iOS证书」⽂件夹,会新增两个⽂件:private.key(私钥)、cert.csr(签名请求⽂件),说明此步骤成功。
六、苹果开发者后台上传CSR,⽣成cer证书
打开浏览器,登录 Apple 开发者后台:https://developer.apple.com/account;
登录成功后,点击⻚⾯中的「Certificates, Identifiers & Profiles」(证书、标识符和描述⽂件);
左侧导航栏选择「Certificates」(证书),点击右上⻆的「+」号(新建证书);
选择证书类型(根据需求⼆选⼀,建议先做开发版):
- 开发版(⽤于真机调试、测试):选择「iOS App Development」
- 正式版(⽤于上架 App Store):选择「App Store and Ad Hoc」
点击「Continue」(继续),进⼊上传 CSR ⽂件⻚⾯,点击「Choose File」,选中「iOS证书」⽂件夹中的「cert.csr」⽂件,上传完成后点击「Continue」;
证书⽣成成功后,点击「Download」(下载),将证书⽂件下载到电脑,默认⽂件名为「developer.cer」(若名字不同,后续需对应修改);
将下载好的「developer.cer」⽂件,直接拖进「iOS证书」⽂件夹中(确保该⽂件夹中现在有 3 个⽂件:private.key、cert.csr、developer.cer)。
七、将 cer 证书转成 p12 证书(打包必备)
- 回到之前打开的 CMD 窗⼝(确保路径仍在「iOS证书」⽂件夹),依次复制粘贴以下两条命令,分别执⾏(每条命令执⾏完成后再执⾏下⼀条)。
- 第⼀条命令(转换证书格式):
openssl x509-indeveloper.cer-informDER-outcert.pem-outformPEM(执⾏后⽆报错,说明转换成功)
3. 第二条命令(导出P12证书):
openssl pkcs12-export-incert.pem-inkeyprivate.key-outios证书.p12- 执⾏第⼆条命令后,会提⽰输⼊密码,注意:
- 提⽰「Enter Export Password:」时,输⼊你要设置的 P12 密码(⽤于后续打包,⼀定要记住),盲输(屏幕不显⽰任何字符,正常打字即可),输完按下回⻋;
- 提⽰「Verifying - Enter Export Password:」时,再次盲输相同的密码,按下回⻋;
- 执⾏完成后,「iOS证书」⽂件夹中会新增「cert.pem」和「ios证书.p12」两个⽂件,其中「ios证书.p12」就是我们需要的可⽤于打包的证书。
⼋、制作描述⽂件(.mobileprovision)
- 继续在 Apple 开发者后台操作,左侧导航栏选择「Profiles」(描述⽂件),点击右上⻆的「+」号(新建描述⽂件)。
- 选择描述⽂件类型(与之前创建的证书类型对应):
- 开发版(绑定 UDID,⽤于真机测试):选择「iOS App Development」
- 正式版(⽤于上架 App Store):选择「App Store」
- 点击「Continue」,选择你项⽬对应的「Bundle ID」(必须与你提前确定的⼀致),点击「Continue」。
- 勾选之前创建的证书(与描述⽂件类型对应),点击「Continue」。
- (仅开发版描述⽂件需做)勾选需要⽤于测试的苹果⼿机 UDID(提前将⼿机 UDID 添加到开发者后台的「Devices」列表中),勾选完成后点击「Continue」;正式版描述⽂件⽆此步骤,直接跳过。
- 输⼊描述⽂件名称(⾃定义,建议能区分类型,例如:iOS开发描述⽂件),点击「Generate」(⽣成)。
- ⽣成成功后,点击「Download」(下载),将描述⽂件(.mobileprovision 格式)下载到电脑,可直接拖进「iOS证书」⽂件夹,⽅便后续使⽤。
九、证书和描述⽂件的使⽤(以 HBuilderX 云打包为例)
- 打开 HBuilderX,找到你的项⽬,点击顶部菜单栏「发⾏」→「云打包」→「iOS 打包」。
- 在打包⻚⾯,点击「证书」和「描述⽂件」对应的「选择⽂件」,分别上传「ios证书.p12」和下载好的「.mobileprovision」⽂件。
- 在「P12 证书密码」处,输⼊你之前设置的 P12 密码(必须正确)。
- 填写「Bundle ID」,确保与开发者后台、描述⽂件中的 Bundle ID 完全⼀致。
- 其他设置根据需求调整,点击「打包」,等待打包完成即可⽣成 IPA ⽂件。
⼗、常⻅问题及解决⽅法
- 报错「Could not open file or uri for loading certificate from developer.cer: No such file or directory」:
解决:1. 确认「developer.cer」⽂件已放⼊「iOS证书」⽂件夹;2. 关闭 CMD,重新打开并进⼊「iOS证书」⽂件夹(执⾏ cd 路径命令);3. 若⽂件名字不是「developer.cer」,重命名为该名称后再执⾏命令。 - 输⼊ P12 密码时,屏幕⽆显⽰:
解决:正常现象,属于 OpenSSL 安全机制,盲输密码后直接按下回⻋即可,⽆需担⼼输不进去。 - 后续新增测试⼿机(开发版):
解决:⽆需重新做证书,只需在开发者后台「Devices」中添加新⼿机 UDID,然后编辑原描述⽂件,重新勾选新 UDID,下载新的描述⽂件即可。
⼗⼀、注意事项
- 全程确保 Bundle ID ⼀致:开发者后台、证书、描述⽂件、项⽬代码中的 Bundle ID 必须完全相同,否则⽆法打包或安装。
- P12 密码务必记住,丢失后⽆法找回,只能重新制作证书。
- 所有命令必须在「iOS证书」⽂件夹路径下执⾏,否则会报错找不到⽂件。
- 证书和描述⽂件有效期为 1 年,到期前需重新制作。