2

这是我的场景。我在一个由 3 名开发人员组成的团队中工作。目前我是唯一一个进行 iphone 开发的人,所以此时我们有 1 个项目,我创建、测试并创建了一个部署证书,这样我就可以构建它并将其部署到一些设备上。1 个开发人员,1 个应用程序,这一切都非常简单。这就是我的问题所在。

现在假设其他开发人员必须检查源代码,进行更改并重新部署,而我不在身边,我开发的计算机也不在身边。我已经阅读了我能找到的所有内容,并且我了解其他开发人员需要下载分发证书和部署配置文件,并且我还需要将分发证书的私钥导出为 .p12 格式,以便他们使用机器。这一切都如前所述。

我的问题是我似乎无法弄清楚的是我创建的分发证书是用我的开发人员私钥签名的。我觉得不应该是这样,因为如果我将其导出并将其交给他们,他们现在拥有我的私钥,据我所知,您应该保密并在安全的地方让我在其他地方开发机器或如果我需要重新安装,我不会给其他开发人员以便他们可以部署的东西。当他们创建应用程序并且我需要进行更改和部署时,反之亦然。

我到处寻找答案,但我似乎无法找到我需要了解我所缺少的确切答案。也许我只是缺少一些基本概念。

  • 有没有办法用我公司的私钥而不是我自己的私钥创建分发配置文件?如果我必须为每个项目创建分发证书,甚至可以为每个项目命名的密钥。
  • 共享附在分发证书上的我的个人私钥是否错误/错误?
  • 他们可以用我的私钥做什么?我觉得我们应该有一个公司私钥或其他东西。

我知道这很啰嗦,但在这一点上我真的很茫然。这是另一个类似的帖子,它还链接到另一个有同样问题的帖子,据我所知,至少据我所知没有得到明确的回答。

允许多个团队管理员在 XCode 4.3 中构建应用程序以进行分发?

对于开发人员团队如何在不共享私钥的情况下进行构建和部署的任何帮助,我们将不胜感激。我认为这很简单,因为我无法想象其他公司正在从一台机器上进行部署。

乔恩

4

2 回答 2

1

答案(如问题)有点长:

1) 通常,分发配置文件(Ad-Hoc、Enterprise InHouse 和 AppStore)使用不同的证书/密钥对,然后是开发配置文件。在供应门户中有明确的标记(例如开发者证书、分发证书和推送证书)。

2) 公司倾向于限制对分发密钥的访问,因为它们的泄漏会带来重大的安全隐患(例如,有人可能会尝试使用恶意软件分发您的应用程序等)。一种常见的做法是指定一到三个指定的“签名者”

3)至于多次分发证书:您可以拥有的分发证书数量有限制(我认为是两个)。此外,在分发配置文件的情况下,您只能选择一个。因此,如果您想定期使用两个密钥/证书,则必须为同一个应用程序提供两个配置文件。相信我!xcode 会让你后悔这个想法!

额外说明:理论上,应该可以使用您选择的私钥/公钥对创建 CSR(证书签名请求),而不是生成新密钥的默认行为。更多在这里

于 2015-02-12T07:13:35.487 回答
0

您的开发人员私钥未与分发证书一起使用。上面的场景涉及两个私钥。

打开钥匙串访问,选择您的登录钥匙串并在类别下选择“我的证书”。

1) 您的开发者私钥永远不需要与其他开发者共享。它是独一无二的,仅供您使用。只有在迁移到新计算机时才需要导出它。在您的钥匙串访问应用程序中,您将看到此证书列为“iPhone 开发人员:您的姓名”

2) 分发证书有一个单独的私钥。它位于创建分发证书请求的计算机上,并且在钥匙串访问应用程序中列为“iPhone 分发:您的公司名称”。您将需要导出此证书(包括公钥和私钥)以允许其他人使用 EXISTING 配置文件创建企业分发。有关如何导出这些密钥的信息,请参阅:https ://stackoverflow.com/a/9418712/600753

我推荐上述方法,但另一种选择是让其他开发人员创建另一个分发证书和另一个配置文件。这种方法倾向于混淆 Xcode 中配置文件的自动选择,并且通常比它的价值更麻烦。

于 2015-01-06T22:11:51.710 回答