如何为iOS发行版创建P12证书

时间:2012-02-23 18:08:01

标签: ios xcode macos ssl certificate

我们有一个推送通知证已过期的iOS应用,我们正在尝试创建一个新的应用。我在Provisioning门户网站(ios_developer.cer,ios_distribution.cer)中创建了新的证书并下载了它们。我按照说明here on Stack Overflow将其转换为PEM,然后转换为P12文件,但我被卡住了。当我尝试将PEM转换为P12时,它需要某种私钥,而我不知道从哪里获取它。

我也尝试将这些加载到Keychain Access中。我曾经读过你可以从那里将它们导出为P12,但是当我进行导入时,它们不会出现在任何地方。

8 个答案:

答案 0 :(得分:114)

在Keychain Access中创建签名请求时会生成您的私钥。生成并下载证书后,双击它将把它添加到Keychain Access,在那里它将与私钥匹配。然后,您可以选择证书,然后打开箭头以选择私钥,并将它们作为.p12文件从Keychain Access一起导出。

答案 1 :(得分:64)

.p12文件用于在Apple App Store上发布应用

:一种。创建(.certSigningRequest)CSR文件

  1. 从公用事业
  2. 打开 Keychain Access
  3. 从Keychain Access工具栏中选择 Keychain Access - >偏好
  4. 在弹出窗口中,选择证书标签
  5. “在线证书状态协议”和“证书撤销列表”设置为“关闭"
  6. 关闭此窗口
  7. 现在从工具栏中,打开 Keychain Access>证书助理>从证书颁发机构申请证书
  8. 输入您在iOS开发人员计划
  9. 中注册时使用的电子邮件地址和通用名称
  10. 将CA电子邮件保留为空白,然后选择“已保存到磁盘”和“让我指定密钥对信息”
  11. 点击继续
  12. 选择文件名&目的地在你的硬盘上
  13. 点击保存
  14. 在下一个窗口中,将“密钥大小”值设置为“2048位”
  15. “算法”设置为“RSA”
  16. 点击继续
  17. 这将创建certSigningRequest文件(CSR)并将其保存到硬盘驱动器中。还将在Keychain Access中创建公钥和私钥,并输入公用名。

    <强> B中。创建&#34; .cer&#34; iOS开发者帐户中的文件

    1. 登录Apple开发者帐户点击“证书,标识符&amp;配置文件”
    2. 点击“配置资料”
    3. 在“证书”部分中,点击“制作”
    4. 点击主面板右上角的“添加”(+)按钮
    5. 现在,选择“App Store and Ad Hoc”
    6. 点击继续
    7. 点击“选择文件”&amp;找到您从硬盘制作的CSR文件
    8. 点击生成
    9. 点击下载以获取文件
    10. <强>℃。安装.cer并生成.p12证书

      1. 找到您下载的 .cer文件,然后双击
      2. 将登录下拉列表设置为“login&#34;然后单击添加
      3. 打开KeyChain Access,您将找到在步骤A中创建的个人资料
      4. 您可以展开“私钥”个人资料(显示您添加的证书)
      5. 仅选择这两项(不是公钥)
      6. 右键单击并从弹出窗口中单击“导出2个项目...”
      7. 现在确保文件格式为“。p12”并选择硬盘上的文件名和目的地
      8. 单击“保存”。现在,系统会提示您设置密码,但将这些密码保留为空白
      9. 单击“确定”。现在,您的硬盘上有.p12文件

答案 2 :(得分:29)

好的,问题解决了!似乎当我双击证书时,它会自动将其安装在SYSTEM钥匙串中 - 我不知道为什么。因此,我只需将证书拖放到LOGIN钥匙串中,然后一切都很好。感谢这篇文章 - &gt; Adding certificates to keychain and generating .p12 file format - alon rosenfeld 10个月前

答案 3 :(得分:27)

除非您通过从钥匙链左下角选择(证书)进行过滤,否则您将无法获得展开选项

答案 4 :(得分:3)

对于仍然遇到此问题的人,我的解决方案是不要同时选择和&#34;导出2个项目&#34; (密钥和证书) - 而只是导出ALREADY包含密钥的证书。截至2016年,我认为这是实现这一目标的方法,因为之前上传的导出2项不再有效。

答案 5 :(得分:2)

对于任何拥有灰色/灰色P12选项的人:

  

确保您位于“我的证书”或“证书”类别中   钥匙串访问。

https://sailthru.zendesk.com/hc/en-us/articles/115000032546-Can-t-export-my-certificate-in-p12-format

答案 6 :(得分:0)

要获取您的p12文件,请按这种方式进行。

第1步。 XCode 中>转到项目设置> 常规> 签名部分> 签名证书

查看您为此特定应用程序使用的证书,如下图所示

enter image description here

第2步。在左下方类别部分> 证书

中打开钥匙串>

寻找证书并通过单击向下箭头打开孩子,如图所示

enter image description here

第3步。右键单击,然后输入密码,例如,将其作为导出。 “ 123456”

答案 7 :(得分:0)

我在这里尝试使用MS Visual Studio App Center在没有Mac的情况下在云中构建iOS应用程序时到了这里。问题在于每个教程都使用Jayprakash Dubey上面评分最高的答案。该方法使用Mac和KeyChain。该解决方案来自SO here

您需要一个密钥(aps_development.key),然后:

  1. 创建密钥对:openssl genrsa -out aps_development.key 2048
  2. 创建CSR:openssl请求-new -sha256 -key aps_development.key -out aps_development.csr
  3. 将CSR上载到开发人员门户以获得证书 aps_development.cer
  4. 转换证书:openssl x509 -inform DER -outform PEM -in aps_development.cer -out aps_development.pem
  5. 构建PKCS#12:openssl pkcs12 -inkey aps_development.key -in aps_development.pem -export -out aps_development.p12

然后您可以继续制作应用ID和配置文件。这将允许您在App Center中进行构建。