【问题标题】:How to renew an iPhone development certificate?如何更新 iPhone 开发证书?
【发布时间】:2011-01-11 17:43:57
【问题描述】:

我的开发证书已过期。更新它的正确方法是什么? 您是否撤销过期的证书并提交新的证书签名请求? 是否必须重新创建配置文件? 这样做有什么副作用吗?

【问题讨论】:

    标签: iphone iphone-sdk-3.0 certificate


    【解决方案1】:

    使用 Xcode 5,以下步骤:

    1) 从https://developer.apple.com 中删除旧证书

    2) 打开 XCode - Preferences - Accounts - View Details,然后点击左下角的刷新图标

    3) Xcode 询问您是否要申请新证书

    享受这份简单的工作

    【讨论】:

    • 嗨,这些对我来说已经过期了,但我不需要删除原始证书(因为它们是自动删除的,至少对我来说是这样)
    • 为我工作,更新证书后,我不得不刷新帐户中的证书。
    • 在 Xcode 6.4 上为我工作 - 虽然我不需要第 1 步,第 2 步和第 3 步工作正常。
    【解决方案2】:

    如果证书已过期,您将无法撤销它。您需要通过开发者计划门户重新创建它。

    一旦您获得了新证书,我不确定您是否需要再次创建与之前的证书关联的配置文件。我猜你可能必须这样做(除非配置文件只使用证书主题而不是有效的 from/to 字段)。

    据我所知,没有其他副作用。

    【讨论】:

    • 实际上,程序门户中唯一可用的选项是吊销证书。所以我撤销了它,在 Keychain Access 中创建了一个新的 CSR 并提交它以创建一个新的证书。然后需要更新开发配置文件以将其与新证书相关联。为了安装,我从 XCode Organizer(和我的设备)中删除了旧的配置文件,并拖入了新的 .mobileprovision 配置文件,然后双击了 developer_identity.cer 证书。这一切都奏效了,我可以再次在我的设备上运行应用程序。
    • 你描述的一切看起来都很正常/熟悉,除了需要撤销它。从技术角度来看,您只能撤销尚未过期的证书(例如,如果它已被泄露)。一旦过期,证书将不再有效,根本无法使用。无论如何,正如您告诉我的,这是开发人员计划门户网站上唯一可用的选项。谢谢你分享这个。
    • 如果它对其他人有帮助,我也遇到了这个问题,但是我也注意到我的钥匙串中有两个证书......一个过期,一个有效,但都使用相同的名称。一旦我删除它,Xcode 似乎正在拾取无效的,一切都恢复正常了。
    • 人们在您的配置/证书到期后的第二天执行这些步骤。到期后的一天,续订过程会更容易一些,也不会那么混乱。至少根据我的经验。
    • @MassimoCafaro 要更新证书,我是否必须再次在 iTunes 上提交应用程序以供批准,或者它只是撤销->新 CSR-> 仅创建证书?
    【解决方案3】:

    不知道这是否会有所帮助,但我今天执行了以下步骤以使我过期的个人资料重回正轨。

    注意:这些步骤是我的配置/证书过期后的一天。我故意在到期后的第二天做。它以一种奇怪的方式让事情变得更容易。

    续订步骤

    1) 登录 iTunes 连接配置门户 https://developer.apple.com/ios/manage/provisioningprofiles/viewDistributionProfiles.action

    2) 点击证书

    3) 申请新证书

    4) 从桌面文件夹上传文件 CertificateSigningRequest.certSigningRequest。 (如果您上次保存了一个)更多信息check this link

    5) 点击提交

    6) 启动您的 Xcode 程序

    7) 点击设备

    8) 单击配置文件

    9) 选择您过期的证书并点击顶部的更新按钮。

    10) 等待 2-5 分钟

    11) 返回https://developer.apple.com/ios/manage/provisioningprofiles 应该有 成为新的发行证书

    11a) 转到 iTunes 网站上的配置并编辑 --> 修改所有配置文件并点击提交。只需修改任何设备或它们上的复选框即可。

    11b) 几秒钟后,您的个人资料将被更新。 (点击浏览器上的刷新按钮)

    12) 下载开发和分发证书。 (无需下载配置证书)

    13) 将它们保存在桌面上的新文件夹中,然后双击开发和分发证书

    14) 这会启动钥匙串。删除旧的/过期的钥匙串

    15) 在 Provisioning Profiles 下返回 Xcode,然后点击底部的 Refresh 按钮

    16) 一切都应该正常工作,没有任何东西应该是过时或过期的

    【讨论】:

      【解决方案4】:

      Xcode 4.6 为您处理所有这些 - 现在这个过程比接受的答案要容易得多。

      详情请见this link

      我相信这个过程的关键是等到你的证书过期。

      以下是我使用 Xcode 4.6 在 60 秒内完成的方法:

      1. Wait for your Developer certificate to expire
      2. Open Xcode, open Organizer (cmd-shift-2)
      3. Click on "Devices" at the top, then "Provisioning Profiles" under Library on the left
      4. Click the Refresh button in the bottom right corner.
      5. Xcode will detect you have no valid cert and ask if you'd like to submit a request for one - say yes.
      

      【讨论】:

      • 我必须再做一件事。虽然我的证书已过期,但 Xcode 似乎根本没有意识到这一点。我在线访问了苹果开发者门户-> 证书-> 全部。 “撤销”了我过期的证书。然后当我在 xcode 中点击刷新时,它会提示我是否要提交证书请求。典型的 xcode 废话。
      • 当我点击“续订”时,它显示消息“此团队中没有与提供的证书 ID 匹配的当前证书”。检查此线程后:stackoverflow.com/questions/16053710/… 我意识到我必须在 Apple Developer Portal 中删除现有证书,然后让 Xcode 4 处理证书重新颁发。
      • Apple 应用分发指南的一部分为我节省了很多时间:Best Practises
      【解决方案5】:

      当我的分发配置文件在两天内到期时,我尝试延长它们。我发现 真正 过期的是我的钥匙串中的身份证书,所有配置文件都与该证书相关联。而且我找不到任何更新身份证书的方法;我必须从钥匙串中删除我的证书并从头开始创建它们,如下所述:

      https://developer.apple.com/library/ios/#qa/qa1618/_index.html

      ...从您的钥匙串中删除证书,然后按照 iPhone Developer Program Portal 用户指南中的“获取您的 iPhone 开发证书”或“获取您的 iPhone 分发证书”部分生成新证书

      然而,我的问题并没有就此结束。现在我有了一个新证书,并且能够按照此处所述创建分发配置文件:

      https://developer.apple.com/library/ios/#recipes/ProvisioningPortal_Recipes/CreatingaDistributionProvisioningProfile/CreatingaDistributionProvisioningProfile.html

      但是,我仍然无法创建分发版本(临时或用于 App Store),因为 Xcode 抱怨我的钥匙串中有两个分发证书,并且(它说)必须只有一个。但那怎么可能呢?我已经删除了过期的证书。然而果然,这是真的:我删除的过期证书已经回到我的钥匙串!

      最后我发现是 Xcode 本身以某种方式重新创建了过期的证书——大概是基于 Xcode 仍然包含的过期开发和分发配置文件中的信息。没错,Xcode 在我的钥匙串中创建了第二个证书,然后抱怨我的钥匙串中的证书太多了!!!

      所以我从 Xcode 中删除了所有开发和分发配置文件,然后再次从我的钥匙串中删除了过期证书

      但是仍然没有解决问题,因为 Xcode 再次从 Portal 下载所有配置文件!当它这样做时,它在我的钥匙串中创建了过期证书再次!!

      所以最后我不得不删除所有内容

      1. 从门户中删除了所有分发和配置文件,因此 Xcode 无法再次下载它们。

      2. 从 Xcode 中删除了所有分发和配置文件

      3. 为了安全起见,我还从我的设备中删除了所有分发和配置文件

      4. 从我的钥匙串中删除了过期的身份证书,这是最后一次。

      最后我得到了一张白纸。所以现在我重新下载了我在门户网站上创建的分发配置文件,我能够创建我的应用的分发版本并将其上传到 iTunes Connect。

      我的最后一个问题是现在我无法在我的设备上构建和运行(开发),因为我删除了即将到期的“团队开发配置文件”。我找不到任何方法在 Portal 上创建一个新的,我也找不到任何方法在 Xcode 中请求一个,但最后我找到了一个幸运的机会:我钩住了我的一个设备到计算机并要求 Xcode 将其添加到门户中,即使它之前已经添加到门户中。这很奏效 - 它导致 Xcode 向 Portal 询问 新的团队开发简介,最后我完全恢复了业务。我能够使用团队开发配置文件在我的设备上进行开发,并且能够创建分发配置文件并下载它们并使用它们进行构建以用于 Ad Hoc 或 App Store 构建。

      所以我从这次冒险中学到的是:当您的证书到期时,删除所有内容(所有证书和配置文件)并从头开始。

      【讨论】:

        【解决方案6】:

        在 Xcode 4.4.1 中,组织者负责更新证书。

        就我而言,我必须执行以下步骤:

        1) 打开 Xcode 并启动 Organizer (Window-->Organizer)

        2) 转到“设备”选项卡并在“团队”部分下选择您的开发者身份 (如果您的 iOS 开发证书已过期,您应该不会在列表中看到它)

        3) 点击右下角的刷新

        4) Xcode 询问您是否要申请新证书

        5) 批准请求并完成程序(如果您在其他 Mac 上开发,请导出证书)

        6) 关闭 Xcode

        7) 从钥匙串中删除过期的证书(我建议在删除之前保存它,即使以下步骤不需要 - 也最好保留过期证书的备份)

        8) 打开 Xcode 并为每个 Xcode 项目在目标的构建设置中选择新的代码签名身份。

        9) 清理项目(Product-->Clean)

        10) 编译和部署。

        非常直接。

        【讨论】:

        • 我发现这不是真的。 Teams 下的开发者身份不可选,刷新不会导致 Xcode 询问我是否要新证书(我们只是下载相同的过期证书)。
        【解决方案7】:

        根据我的经验,我首先删除了过期的证书。然后我做了整个Request a Certificate from a Certificate Authority 过程:

        完成后,我进入iOS Provisioning Portal--> Provisioning 并单击Modify 以获取给我带来麻烦的配置文件。然后我选择了我的设备并提交了。最后,我下载了新的配置文件并将其添加到 Xcode 项目中。

        注意:这是针对 Lion 上的 Xcode 4.3。

        【讨论】:

        • 您使用了哪个 CA 电子邮件地址?在请求证书时,我能否麻烦您解释一下对话框中的字段?
        【解决方案8】:

        我刚刚使用 Xcode 4.3.2 更新了我过期的证书和配置文件。 Apple 文档说要在 Xcode Organizer 中“使用 [该设备] 进行开发”——我最初是这样做的,但该按钮不再显示。

        我尝试删除现有的个人资料,但没有帮助。我最终注意到管理器底部栏中的“添加到门户”按钮。单击它并按照提示完成操作 - 它创建了一个新的证书和配置文件。

        快乐的日子 - 差不多了 - Xcode 本身仍在抱怨 Keychain Access 中的重复证书。删除了过期的文件(以及任何其他过期的文件),Xcode 现在很高兴(我不得不更改一个文件才能让 Xcode 真正尝试重新构建)。


        对于 XCode 5,我遵循了 Baryon Lee's post,除了我不需要先删除旧证书(我尝试了投票给你 Baryon,但我的声誉点数不足:-( )。我需要先将我的详细信息添加到“帐户”页面。

        【讨论】:

        • 现在是“添加到会员中心” - 谢谢,更喜欢这种方式。
        • 将设备重新添加到会员中心后必须重新启动xcode。有了这个小怪癖,您所描述的内容也适用于 Xcode 5.01。
        【解决方案9】:

        如果配置文件在使用 Xcode 5 的 Baryon Lees 答案重新创建证书后静默更新失败,另请参阅此帖子

        renewing provisioning profile and certificates

        您必须编辑每个配置文件并检查证书框并生成但不要下载。

        【讨论】:

          猜你喜欢
          • 2011-07-03
          • 1970-01-01
          • 2011-02-20
          • 2010-11-28
          • 2018-02-15
          • 2011-06-07
          • 2011-01-15
          • 2011-04-26
          • 2018-05-31
          相关资源
          最近更新 更多