我的公司在 Apple Developer 平台上制作了开发者证书。此时我需要将密钥文件链接到我在 Phonegap 中的 iOS 版本。
我正在尝试生成这个密钥文件,我需要该.p12
文件和该provisioning profile
文件。我已经获得了该provisioning profile
文件,但我似乎无法生成该.p12
文件。
我正在使用 Openssl 来生成我的文件,并尝试使用此命令来生成最后一个文件:
openssl pkcs12 -export -inkey ios.key -in ios_development.pem -out ios_development.p12
Enter pass phrase for ios.key: *********
No certificate matches private key
我到底做错了什么?我能在开发者.apple.com网站?
更新:下面是我为解决此问题所执行的步骤:
- 生成私钥:
openssl genrsa -des3 -out ios.key 2048
并输入密码pass123
- 生成CSR文件:并输入私钥密码
openssl req -new -key ios.key -out ios.csr -subj "/[email protected], CN=company, C=BE"
pass123
- 前往 Apple Developer iOS Provisioning Portal 并下载开发证书
.cer
文件 - 将证书转换为 PEM 文件:
openssl x509 -in ios_development.cer -inform DER -out ios_development.pem -outform PEM
- 使用私钥(ios.key)和iOS开发证书(ios_development.pem)生成P12文件:
openssl pkcs12 -export -inkey ios.key -in ios_development.pem -out ios_development.p12
并输入私钥中的密码pass123
- 错误信息:
No certificate matches private key
答案1
导致我出现此问题的原因是我们从 Keychain Access 中删除了证书。这导致私钥和公钥也消失了,因此无法提取 p12 文件。
我通过从头开始重新生成证书解决了该问题。
更多详情可在这找到:似乎无法导出 p12 文件