苹果开发者/iOS分发证书管理

8
我们在处理苹果的分发证书方面遇到了困难。我们在苹果开发者门户网站上设置了几个开发人员,以此为例:
Alice:团队管理员 Bob:管理员 Charles:管理员 Dan:开发人员
Alice、Bob和Charles应该能够构建用于分发的应用程序(内部测试的Adhoc、外部测试的Testflight和分发的Appstore)。Dan只在他的本地机器上生成代码和调试。所有用户都使用个人帐户进行开发。
根据我们从苹果文档中了解到的,Alice、Bob和Charles需要有效的分发证书。如果xCode为他们生成证书,他们将开始玩“乒乓球”,并继续吊销彼此的证书——至少目前似乎是这样。我们不确定为什么会发生这种情况。人们会认为,如果您创建一个不同的新用户,则此帐户也可以维护自己的(分发)证书。
无论如何,他们将需要共享分发证书,方法是共享其私钥(p12文件),如此处所述。
在我们的帐户中,似乎最多可以有两个有效的分发证书。我们真的不知道这最终是如何工作的——我们没有通过开发人员门户手动完成,而是使用xCode完成。 Alice生成了她的证书,Bob吊销并重新生成了证书,Alice做了同样的事情——但突然间他们两个都有了有效的分发证书,而不是使Bobs证书无效。
文档中提到,您最多可以拥有2个有效的分发证书。我们还手动尝试生成分发证书,并确认其数量限制为两个。
然而,我们最近被邀请参加客户的开发者计划,代表他签署应用程序。我认为客户没有意识到我们需要他的分发证书的私钥。因此,我们尝试手动生成分发证书,并发现这是不可能的。令我们惊讶的是,客户设法生成了3个有效的分发证书。你知道这是如何工作的吗?
我们的问题简而言之:
1.当您管理一个开发团队时,什么是最佳实践?通常会共享第一个生成证书的开发人员的私钥,以便所有其他团队成员都能够签署应用程序吗?
2.与客户合作的最佳做法是什么?您是否要求他们生成另一个私钥,或者是否有一些隐藏的功能可以生成您想要的任意多个分发证书,只要每个开发人员都使用自己的帐户?
3.当我们吊销证书时会发生什么。它不会影响应用商店中的应用程序,但似乎只限制其他开发人员构建其应用程序。然而,APNS / Push Server证书会发生什么?当我们通过xCode吊销分发证书时,这对于发送方也会突然停止工作吗?
感谢您的帮助。
2个回答

8
经过长时间的调查和尝试,以下是我们认为最适合我们的做法。不确定它是否符合最佳实践,但对我们来说似乎工作得很好。
1. 当你管理一个开发团队时,最佳实践是什么?
一人使用他的Mac生成分发证书。然后按照washloops建议,将证书(公钥和私钥)导出到p12文件中,并与团队共享。
2. 与客户合作时的最佳实践是什么?
我们有两种类型的客户:
与多个供应商合作的客户(因此我们只负责他们组合中的1个应用程序)- 我们要求他们共享其分发证书(公钥+私钥)。如果他们没有,他们需要从其他供应商那里获取。
仅与我们合作的客户- 我们生成证书,稍后与客户共享。这使他们可以在需要时与其他供应商共享。
3. 撤销证书会发生什么?
根据我们的测试:“没有任何事情”。如果您撤销分发证书,则将阻止使用此证书的开发人员提交/构建应用程序。但是,现有的APNS /推送证书不受影响。
对于我们来说,APNS /推送证书似乎是完全独立的,如果您希望撤销它们,则需要同时撤销两个证书。

5

您只需要创建一个分发证书。然后,前往钥匙串访问,选择该证书并将其导出为“.p12”文件,可以添加密码。

之后,您只需在其他计算机上安装它即可。

祝好:)


感谢您的回复。但是,如果我们已经有了2或3个独立生成的分发证书,您能为用户设置第四个吗? - Jan
1
问题是,你应该只有一个。我建议撤销它们中的全部3个,只使用一个供所有开发人员使用 :) - washloops
谢谢。我已经“点赞”了你的回答,因为它似乎是最佳实践。 - Jan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接