25

出于美观的原因,我想使用前一段时间创建分发证书时使用的相同私钥来创建新的开发证书(我的旧证书已过期)。但是 iOS 配置门户上的“如何创建开发证书:”要求您使用 Keychain Access 创建一个新密钥。当我尝试使用“(我的密钥名称)”执行“钥匙串访问”>“证书助理”>“从证书颁发机构请求证书”时,证书助理实际上并没有创建 CSR 文件。

有谁知道这是否可以做到,如果可以,怎么做?

4

4 回答 4

54

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

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

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

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
于 2011-08-18T17:19:01.377 回答
4

要从 Keychain Access 中的现有私钥生成 CSR,只需右键单击(两指单击)您要使用的私钥,然后选择 REQUEST A CERTIFICATE FROM A CERTIFICATE AUTHORITY WITH "(My Key Name)"

然后输入用户电子邮件地址和 CA 电子邮件地址(我只是为两者使用相同的电子邮件地址),然后选择保存到磁盘。

于 2012-09-13T18:54:53.630 回答
2

您对 OpenSSL 和命令行感到满意吗?有一个关于手动创建 CSR 的邮件列表的讨论。FWIW,我也无法使用 Keychain Access/Certificate Assistant 中的选定密钥创建 CSR。

于 2010-12-29T20:17:08.250 回答
0

我今天经历了这个地狱。我想通过命令行自动导出密钥以创建 CSR。我找到了一个工具,c它承诺了我想要的东西:keychain_access。我编译并使用它,但无法导出我的分发密钥。我使用最新的苹果安全 API 和钥匙串项目属性打印从头开始再次创建该工具,但仍然无法通过标签找到密钥。我能够在没有标签搜索的情况下列出它。在一次绝望的尝试中,我重命名了钥匙串访问工具中的键并将其重命名为旧名称。在那之后,我的工具终于按标签拿起了钥匙。还有右键REQUEST A CERTIFICATE FROM A CERTIFICATE AUTHORITY WITH "(My Key Name)"也开始工作了。似乎该名称以不同的编码或其他方式保存。不是事件苹果自己的钥匙串访问工具能够找到钥匙!

于 2016-11-11T22:41:40.747 回答