这是我的情景。我是一个由3名开发人员组成的团队。目前我是唯一一个进行iphone开发的人,所以此时我们创建了一个项目,经过测试,然后创建了一个部署证书,因此我可以构建它并将其部署到一些设备上。 1个开发人员,1个应用程序,这一切都非常简单。这是我的问题所在。
现在让我们说其他开发人员必须检查源代码,进行更改并重新部署,我不在身边,也不是我开发的计算机。我已经阅读了我能找到的所有内容,而且我了解其他开发人员需要下载分发证书和部署配置文件,我还需要将分发证书的私钥导出为.p12格式,以便他们将机。这一切都如上所述。
我遇到的问题以及我似乎无法弄清楚的是我创建的分发证书是使用我的开发人员私钥签名的。我觉得不应该这样,因为如果我把它输出并交给他们,他们现在有我的私钥,从我能说的是你应该保密的东西,在我安全的地方让我在其他地方发展机器或以防我需要重新安装,而不是我会给其他开发人员只是为了他们可以部署。反之亦然,当他们创建应用程序时,我需要进行更改和部署。
我到处寻找答案,但我似乎无法找到确切的答案,我需要了解我所缺少的内容。也许我只是缺少一些基本概念。
我知道这是漫长的啰嗦,但我现在真的很茫然。这是另一个类似的帖子,它也链接到另一个帖子,它有同样的问题,从我可以告诉我没有得到清楚的答案,至少就我所知。
Enabling multiple team admins to build an app for distribution in XCode 4.3?
对于如何在不共享私钥的情况下构建和部署开发人员团队的任何帮助将不胜感激。我认为这很简单,因为我无法想象其他公司正在从一台机器上部署。
乔恩
答案 0 :(得分:1)
答案(如问题)有点长:
1)通常,分发配置文件(Ad-Hoc,Enterprise InHouse和AppStore)使用不同的证书/密钥对,然后使用开发配置文件。在配置门户中有明确标记(例如开发人员证书,分发证书和推送证书)。
2)公司倾向于限制对分发密钥的访问,因为它们的泄漏会带来重大的安全隐患(例如,有人可能会尝试使用恶意软件等分发您的应用程序)。一种常见的做法是指定一到三个指定人员#34;
3)至于一个多个分发证书:您可以拥有的分发证书数量有限制(我认为它是两个)。此外,在分发配置文件的情况下,您只能选择一个。因此,如果您希望定期使用两个密钥/证书,则必须为同一个应用程序提供两个配置文件。相信我! xcode会让你后悔这个想法!
额外注意事项:理论上应该可以使用您选择的私钥/公钥对创建CSR(证书签名请求),而不是生成新签名的默认行为。 More here
答案 1 :(得分:0)
您的开发人员私钥未与分发证书一起使用。上面的方案涉及两个私钥。
打开钥匙串访问,选择您的登录钥匙串并选择"我的证书"在类别下。
1)您的开发人员私钥永远不需要与其他开发人员共享。它是独一无二的,仅供您使用。仅当您要迁移到新计算机时才需要导出它。在您的Keychain Access应用程序中,您将看到此证书列为" iPhone开发人员:您的姓名"
2)分发证书有一个单独的私钥。它位于创建分发证书请求的计算机上,位于Keychain Access应用程序中,列为" iPhone分发:您的公司名称"。您需要导出此证书(包括公钥和私钥)以允许其他人使用EXISTING配置文件创建企业分发。有关如何导出这些密钥的信息,请参阅:https://stackoverflow.com/a/9418712/600753
我建议使用上述方法,但另一种方法是让其他开发人员创建另一个分发证书和另一个配置文件。这种方法倾向于混淆Xcode中供应配置文件的自动选择,并且通常比它的价值更麻烦。