【问题标题】:Cannot convert apple developer_identity.cer into .p12 format. No certificate matches private key无法将苹果 developer_identity.cer 转换为 .p12 格式。没有证书与私钥匹配
【发布时间】:2012-02-15 01:33:17
【问题描述】:

我有以下问题:

我有这些文件

developer_identity.cer

Team_Provisioning_Profile_.mobileprovision

为了打包适用于 iOS 的 adobe flex 移动应用程序,我需要将我的 .cer 证书转换为 .p12 格式。按照本教程on help.adobe.com 执行最后一个openssl 命令时,我总是遇到这个问题:

"没有证书匹配私钥
pkcs12中的错误”

据我了解,我需要以某种方式获取用于创建证书的私钥(我理解这一点吗??)。如果我只有上面提到的 .cer 和 .mobileprovision 文件,我如何获得私钥 mykey.key?

【问题讨论】:

    标签: ios apache-flex adobe flash-builder pkcs#12


    【解决方案1】:

    .cer 不包含您的私钥,您无法从中生成 .p12 文件。您必须同时从钥匙串中导出它们。如果你只有 .cer 文件,它是没有用的,你必须创建一个新的私钥和证书对。

    【讨论】:

      【解决方案2】:

      当证书是 DER 编码时,OpenSSL 说 没有证书与私钥匹配。只需在创建 PKCS#12 之前将其更改为 PEM 编码即可。

      1. 创建密钥对openssl genrsa -out aps_development.key 2048

      2. 创建企业社会责任openssl req -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#12openssl pkcs12 -inkey aps_development.key -in aps_development.pem -export -out aps_development.p12

      【讨论】:

        【解决方案3】:

        如果你丢失了你的私钥,不确定你是否能得到它。

        密钥是在您申请证书时创建的,因此您可以申请新证书,这应该会给您一个私钥。

        【讨论】:

        • 是否可以申请新证书而无需再次支付 99 美元?
        • 是的,应该可以不用付更多钱就可以买到新的。
        • 您可以从设备配置门户执行此操作。只需拒绝您的旧证书,然后重新执行您最初创建它的过程。他们绝对不会向您收费。
        【解决方案4】:

        您打开“应用程序/实用程序”下的“钥匙串访问”程序。在右侧的类别列表下,您选择“我的证书”。

        这将为您提供钥匙串中安装的所有证书的列表。如果您不熟悉钥匙串是什么。它基本上是一个包含您的登录密码、证书、私钥等的安全数据库。

        当您下载证书时,您应该双击它以将其导入您的钥匙串。

        然后您可以在“我的证书”列表中找到您的证书。如果您展开您有兴趣查找其私钥的证书,它应该显示在证书的正下方。

        我敢打赌,您只是按照指南完成了这些步骤,并不能完全确定您做了什么。我们都做对了 ;-)

        其工作原理是您最初在钥匙串访问程序中一起创建公钥和私钥。通常在加密中,您使用这些的方式是将您的公钥提供给某人,然后他们可以加密消息并发送给您。只有拥有与此公钥一起生成的私钥的人才能解密消息。

        但是任何获得您的公钥的人都无法确定它是否真的来自您。这就是证书的用武之地。大多数人信任的像 Apple 这样的第三方将签署您的公钥,从而创建证书。因此,您之前所做的可能是将您的公钥发送给 Apple,Apple 对其进行了签名,从而创建了一个您可以下载的证书。

        让我给你一个简短的版本:

        1. Key Chain Access 用于创建公钥/私钥
        2. 您使用公钥创建证书签名请求。这基本上是一个包含您的公钥的文件,要求 Apple 使用该公钥创建证书。
        3. Apple 添加了一堆关于您的信息和公钥的用途以及将公钥本身添加到成为证书的文件中。然后苹果会签字。
        4. 您下载证书。
        5. 双击并将证书导入您的钥匙串。

        【讨论】:

          猜你喜欢
          • 2013-11-02
          • 2011-10-16
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-08-19
          • 2019-12-09
          • 2018-11-03
          相关资源
          最近更新 更多