续订iOS发行证书的正确方法


303

我的发行证书以及所有预配文件将于6月7日到期。如何正确续约?我现在应该撤销它并请求一个新的吗?如果这样做,我所有的实时应用程序都将被删除吗?


7
无论出于何种原因,在多年未使用此帐户后,我收到了有关此回复的通知。还没死(还)。我还要感谢多年来StackOverflow上的每个人都为我提供了帮助。我14岁(现在21岁)时写了这个问题。从那时起,我一直在开发iOS应用程序,并将很快在Apple担任全职工作(这是我一直以来的梦想)。再次感谢在此过程中提供帮助的每个人!
user1413558

好故事!是的,岁月流逝!您甚至无法想象在进行在线质量检查之前编程是如何完成的。欢呼声
Fattie

@Fattie为什么发出警告?除了在Apple页面上进行小的UI更改之外,接受的答案仍然正确。并非只是因为它很旧,所有的东西都会自动出错。
Theo

嗨@Theo,我认为讨论了很长时间(现已删除),所以我的评论(我刚刚删除了!)没有特别的意义,感谢您指出。请注意,在这种特定情况下,“勾号”的5年历史答案有错误的信息,例如SLBarth解释。
Fattie

Answers:


357

您的实时应用程序不会被删除。应用商店中的任何内容都不会发生任何变化。

一旦它们正式到期,唯一会受到影响的就是您对代码进行签名的能力(从而进行新的构建并提供更新)。

关于您的分发证书,证书一旦过期,就会从会员中心的“证书,标识符和个人资料”部分中消失。如果您想在证书过期之前进行续订,请吊销当前证书,然后您将获得一个按钮来请求新证书。

关于配置文件,在到期前不必担心,只需继续使用它即可。过期后只需续订就足够了。

放心吧,商店中的实时应用程序什么都不会发生。


7
谢谢,他们今天到期了。续签没有问题。
user1413558 2012年

30
对其他人来说只是个疯子。我吊销了用于企业分发的证书,但没有选择续订证书的选项。没了 在我使用新证书重新构建应用之前,该应用已关闭(无法安装)。
–foldletletuce

34
嘿,不要撤销您的内部证书!!重新启动/ 3天后,您的内部应用程序将无法运行,除非您可以在该时间段内更新所有应用程序。Apple允许您创建2个内部应用程序,以便彼此重叠,然后使用它来更新新应用程序。不要撤销它。您唯一可以撤消的就是App Store证书,而不停止现有的应用程序。
mskw

13
严格地说,你不能更新证书,则必须产生新的 -见developer.apple.com/library/ios/#documentation/IDEs/Conceptual/...
mklement0

2
更新了与​​此有关的苹果文档的链接:developer.apple.com/library/ios/documentation/IDEs/Conceptual/…–
qix

348

当您的证书过期时,它会从会员中心的“证书,标识符和配置文件”部分中消失。没有“更新”按钮可让您更新证书。您可以吊销证书并在证书过期之前生成新证书。或者,您可以等待它过期并消失,然后生成一个新证书。在Apple的应用分发指南中

替换过期的证书

当您的开发或发行证书过期时,将其删除并在Xcode中请求新证书。

当您的证书过期或被吊销时,任何使用已过期/吊销的证书的配置文件都将显示为“无效”。您无法使用这些无效的配置文件来构建和签名任何应用。如您所料,我宁愿在证书过期之前撤消并重新生成证书。

问:如果这样做,我的所有实时应用程序都将被删除吗?

App Store中已经存在的应用程序仍可以正常运行。同样,在Apple的应用程序分发指南中

重要提示:重新创建开发或发行证书不会影响您已提交到商店的应用程序,也不会影响您更新它们的能力。

所以…

问:如何正确续约?

如上所述,没有证书的续订。请按照以下步骤撤消并重新生成新证书,以及受影响的配置文件。有关说明已针对Xcode 8.3和Xcode 9更新。

步骤1:撤销即将到期的证书

登录会员中心 >证书,标识符和配置文件,选择过期的证书。记下证书的到期日期,然后单击“吊销”按钮。

选择到期证书,然后单击“撤消”按钮

第2步:(可选)从钥匙串中删除吊销的证书

(可选)如果您不希望在系统中放置吊销的证书,则可以从系统中将其删除。不幸的是,似乎总是禁用Xcode>首选项>帐户> [Apple ID]>管理证书中的“删除证书”功能,因此我们必须使用Keychain Access.app(/ Applications / Utilities / Keychain Access手动将其删除。应用)。

(可选)使用Keychain Access.app删除吊销的证书

按“登录”钥匙串和“证书”类别过滤。找到您在步骤1中刚刚撤销的证书。

根据您刚刚撤销的证书,搜索“ Mac”或“ iPhone”。Mac App Store分发证书以“ 3rd Party Mac Developer”开头,iOS App Store分发证书以“ iPhone Distribution”开头。

您可以根据小组名称,证书的类型(Mac或iOS)和您在步骤1中记下的证书的到期日期来查找已撤销的证书。

步骤3:使用Xcode申请新证书

在“ Xcode”>“首选项”>“帐户”>“ [Apple ID]”>“管理证书...”下,单击左下角的“ +”按钮,然后选择您刚刚撤销的相同类型的证书,以允许Xcode为您请求新的证书。

让Xcode在Xcode>首选项>帐户> Apple ID>管理证书中为您请求新证书。

步骤4:更新您的配置文件以使用新证书

之后,返回会员中心 >证书,标识符和配置文件>供应配置文件>全部。您会注意到,任何利用已撤销证书的配置配置文件现在都反映为“无效”。

请注意,任何使用已撤销证书的配置配置文件现在都反映为“无效”

单击现在为“无效”的任何配置文件,单击“编辑”,然后选择新创建的证书,然后单击“生成”。重复此过程,直到使用新证书重新生成所有供应配置文件。

选择新创建的证书,然后单击生成

步骤5:使用Xcode下载新的配置文件

提示:在使用Xcode下载新配置文件之前,您可能需要从Mac清除所有现有的可能无效的配置文件。您可以通过以下方式删除所有配置文件:~/Library/MobileDevice/Provisioning Profiles

返回Xcode>首选项>帐户> [Apple ID],单击“下载所有配置文件”按钮,要求Xcode从您的开发人员帐户下载所有配置文件。

单击“下载Xcode的所有配置文件”以下载所有新生成的配置文件


1
嗨,俊杰,谢谢!我遇到了Xcode 7的问题。如果我撤销了发行证书,使用AdHoc发行配置文件发布的应用程序会如何处理?他们还活着吗?谢谢
Frade 2015年

3
@Apple的@Frade:iOS发布证书(内部,内部使用的应用程序),用户将不再能够运行已使用此证书签名的应用程序。您必须分发使用新证书签名的应用程序的新版本。请参阅developer.apple.com/support/certificates
2015年

我问的是AdHoc,但情况可能与此相同。谢谢
Frade 2015年

3
@junjie如果商店中发布的应用程序具有推送通知权利,会发生什么情况?证书过期后,它仍然能够发送推送通知吗?
奥塔维奥

4
@Otávio,您的应用分发证书(我们正在处理的此问题)与您的APNS证书是分开的。APNS证书不属于应用程序二进制文件。您可以吊销/续订您的APNS证书,而无需更新您的应用二进制文件。您的推送服务器需要APNS证书。
junjie

21

截至2020年1月和Xcode 11.3.1-

  • 开启Xcode
  • 打开Xcode首选项(Xcode-> Preferences或Cmd-,)
  • 点击账户
  • 点击左侧的开发者ID
  • 点击右下角的“ 管理证书...”。
  • 在左下角,单击+(加号)右侧的箭头
  • 从菜单中选择“ Apple Distribution

Xcode将自动创建Apple Distribution证书,将其安装在Keychain Access中,并更新Xcode的签名信息

(注意:现在提供了单个Apple Distribution证书,而不是以前的iOS Distribution证书和等效证书。)


很好奇:我从苹果那里收到了要更新iOS发行证书的邮件。没有信息,我应该创建一个Apple Distribution证书。
ekkescorner

电子邮件没有提及它,@ ekkescorner。它在在线文档中。
leanne

2
这个重新创建证书的新工作流程听起来太简单了;-)再次
感谢

谢谢@leanne的回答。对于以上SO中古老的不相关答案,应该有一个到期选项。
RobMac

11

很简单,就是续签您的证书。转到开发人员成员中心,然后转到“供应”配置文件,查看有效证书和无效证书是什么,然后选择无效证书,然后单击编辑按钮,然后单击生成按钮。现在,您的证书可以成功续签一年。谢谢


@Shanmugasundharam,我们应在创建预配置文件后在应用商店中推送新版本。
尼拉吉·保罗

至少仍然需要从xcode生成的.csr文件。从developer.apple.com/account,转到“证书,ID和配置文件”->“配置文件”。我看到一个ReleaseProfile和一个TestingProfile。两者均在“到期”列下显示“无效”。我单击ReleaseProfile,然后单击“编辑”。在“证书”下,通过“创建证书”按钮显示“没有证书”。我点击它。然后,我选择“ iOS Distribution”和“ Continue”。现在,为了创建它,我需要“选择文件”,这意味着上传一个CSR文件,我认为它只能从xcode生成。
布伦特212年

弄清楚我可以通过在Linux上运行来简单地生成CSR:**** openssl req -nodes -newkey rsa:2048 -keyout private_key.key -out cer_sign_request.csr ****无法相信会有这么多答案到需要如何使用xcode的“如何生成证书csr”,而无需提及这个简单的解决方案,该解决方案不需要清除旧的Mac并启动庞大的IDE。
布伦特212年

@NirajPaul您的应用程序仍适用于从商店下载该应用程序的用户,如果您从商店下载该应用程序,它将甚至对您也有效。这仅会影响使用预配配置文件将应用程序放置在设备上的用户(即,您通过xCode构建了该应用程序并将其安装在设备上)。用户的过去,现在和将来都不会注意到任何不同。 stackoverflow.com/a/7128502/3493877消息来源
Shanmugasundharam

0

这是一个非常有用的线程,我遵循了@junjie提到的相同步骤,但是对我来说,发生了一些奇怪的事情,以下是我所做的步骤。

  1. 进入开发者门户并吊销了即将到期的证书。
  2. 转到XCode6.4,在“帐户”设置中,证书仍然显示有效,我发疯了。
  3. 然后,我打开XCode7,那里的证书显示为“重置”按钮而不是“创建”,然后单击重置按钮,随后在门户中我可以看到存在的扩展证书。这就是Apple关于“重置”按钮的说法

如果Xcode检测到签名身份存在问题,则会在“帐户”偏好设置中显示适当的操作。如果Xcode显示“创建”按钮,则在Member Center或Mac上不存在签名身份。如果Xcode显示“重置”按钮,则签名标识在Mac上不可用-例如,它缺少私钥。如果单击“重置”按钮,则Xcode撤销并请求相应的证书。

  1. 我尝试用它创建一个Appstore ipa,只是为了进行测试,并且效果很好,所以我被保存了下来,但仍然不确定发生了什么。可能是我在Mac中配置了多个帐户,不知道。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.