我如何使用现有的私钥来获得新的iOS开发证书?

出于美观的原因,我想使用前一段时间用于创build分发证书的相同的私钥,以创build一个新的开发证书(我的旧版本已过期)。 但是iOSconfiguration门户上的“如何创build开发证书:”要求您使用Keychain Access创build新密钥。 当我试图做钥匙串访问>证书助手>从证书颁发机构申请证书使用“(我的密钥名称)”时,证书助理实际上并不创buildCSR文件。

有谁知道这是否可以做到,如果是的话,如何?

首先,我必须从钥匙串中将我的私钥导出为p12文件。 我尝试了这个脚本,但没有成功。

  1. 打开钥匙串并select您的私钥
  2. 右键单击并select“导出”
  3. 使用p12文件types。

运行以下openssl命令将密码保护的p12文件转换为pem。 openssl会提示input密码。

openssl pkcs12 -in your-newly-exported-p12-file.p12 -out your-newly-exported-p12-file-as-a-pem.pem -nodes 

在您的pem文件上运行以下命令以生成csr。

 openssl req -new -key your-newly-exported-p12-file-as-a-pem.pem -out your-csr-to-submit-to-apple.csr 

要从钥匙串访问中的现有私钥生成CSR,只需右键单击(双指点击)您要使用的私钥,然后select“(我的钥匙名称)”从证书颁发机构申请证书

然后input用户电子邮件地址和CA电子邮件地址(我只是使用相同的电子邮件地址),然后select保存到磁盘。

你对OpenSSL和命令行感到满意吗? 在邮件列表上有关于手动创buildCSR的讨论 。 FWIW,我无法使用Keychain Access / Certificate Assistant中的选定键创buildCSR。

今天我经历了这个地狱。 我想通过命令行来自动输出密钥来创buildCSR。 我发现了一个用c写的工具,它承诺我想要的东西: keychain_access 。 我编译和玩它,但无法导出我的分配密钥。 我用最新的苹果安全API和钥匙串项目属性打印重新创build了这个工具,但仍然无法通过标签find密钥。 我能够列出它没有标签search。 在绝望的尝试中,我重命名为keychain访问工具,并将其重命名为旧名称。 之后,我的工具终于通过标签来挑选钥匙。 另外,右键点击REQUEST A CERTIFICATE FROM A CERTIFICATE AUTHORITY WITH "(My Key Name)"REQUEST A CERTIFICATE FROM A CERTIFICATE AUTHORITY WITH "(My Key Name)"也会重新开始。 看来这个名字被保存在一个不同的编码或者什么东西。 没有事件苹果自己的钥匙串访问工具能够find钥匙!