Apple Developer / iOS分发证书管理

时间:2016-08-15 05:36:28

标签: ios iphone xcode certificate

我们正在努力处理Apple的分销证书处理。 为了示例,我们在Apple Developer Portal中设置了几个开发人员: Alice:团队管理员 鲍勃:管理员 查尔斯:管理员 丹:开发者

Alice,Bob和Charles应该能够构建分发应用程序(Adhoc用于内部测试,Testflight用于外部测试,Appstore用于分发)。 Dan只在他的本地机器上生成代码和调试。 所有用户都使用个人帐户进行开发。

根据我们对Apple文档的理解,Alice,Bob,Charles需要有效的分发证书。如果xCode为它们生成它,它们将开始播放“乒乓”,并继续撤销彼此的证书 - 至少这是目前正在发生的事情。 我们不确定为什么会这样。有人会认为,如果你创建一个不同的新用户,这个帐户也可以维护自己的(分发)证书。

无论如何,他们需要通过共享分发证书(p12文件)来共享分发证书,正如您在答案here中找到的那样。

在我们的帐户中,似乎我们最多可以拥有两个有效的分发证书。 我们真的不知道这最终是如何工作的 - 我们没有通过开发人员门户手动完成,而是使用xCode。 Alice生成了她的证书,Bob撤销并重新生成,Alice做了同样的事情 - 但突然他们都有了有效的分发证书,而不是使Bobs证书无效。

在文档中提到您最多可以拥有2个有效的分发证书。我们还手动尝试生成分发证书,并确认它仅限于两个。

然而,我们最近被邀请到客户的开发者计划代表他签署应用程序。 我假设客户不知道我们需要他的分发证书中的私钥。因此,我们尝试手动生成分发证书,并发现它是不可能的。令我们惊讶的是,客户设法生成了3个有效的分发证书。 知道这是如何工作的吗?

我们的问题简而言之:

1。管理开发团队时的最佳做法是什么?

您是否通常与所有其他团队成员共享第一个生成证书的开发人员的私钥,该团队成员应该能够对该应用进行签名?

2。与客户合作时的最佳做法是什么? 您是否要求他们生成另一个私钥,或者是否有一些隐藏的功能可以生成任意数量的分发证书,因为每个开发人员都使用自己的帐户?

第3。撤销证书时会发生什么。 它不会影响应用程序商店中的应用程序,但似乎只限制其他开发人员构建其应用程序。但是,APNS / Push Server证书会发生什么?当我们通过xCode撤销分发证书时,这也会突然停止为发件人工作吗?

感谢您的帮助。

2 个答案:

答案 0 :(得分:7)

经过长时间的调查和尝试,我们认为这是最适合我们的。不确定这是否是最佳做法,但它似乎对我们有用。

1。管理开发人员团队时的最佳做法是什么?

一个人使用他的mac生成分发证书。然后,他按照washloops的建议将证书(公钥和私钥)导出到p12文件中,然后与团队共享。

2。与客户合作时的最佳做法是什么?

我们有两种客户:

与多个供应商合作的客户(因此我们只是从他们的投资组合中处理1个应用程序) - 我们要求他们共享他们的分发证书(公共+私钥)。如果他们没有,他们需要从其他供应商那里获得它。

仅与我们合作的客户 - 我们生成证书并稍后与客户共享。这允许他们在需要时与其他供应商共享。

3。撤销证书时会发生什么。

从我们的测试:"没有"。如果您撤消分发证书,则会阻止使用此证书的开发人员提交/构建应用程序。但是,现有的APNS /推送证书不受影响。

对于我们来说,似乎APNS / Push证书是完全独立的,如果你想撤销它们,你需要撤销它们。

答案 1 :(得分:4)

您只需创建1个分发证书。之后,您将转到Keychain Access,选择证书并将其导出为" .p12",并可能为其添加密码。

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

问候:)