【问题标题】:iOS in-house distribution of App developed by external vendor外部供应商开发的 App 的 iOS 内部分发
【发布时间】:2011-07-05 04:24:38
【问题描述】:

第三方在我们的企业环境中开发了一个供私人使用的应用程序。现在是分发它的时候了,他们不想向我们发送他们的代码。我感觉这会导致问题,因为必须将分发配置文件和证书发送给他们,这会损害我们不允许的私钥。

这是正确的还是可以在不泄露我们的私钥的情况下做到这一点。

编辑:附带说明,如果私钥仅适用于每个应用程序,我可以向他们发送私钥,即仅使用该应用程序包 ID,并且我们可以在一个企业许可证下拥有具有不同私钥的不同应用程序.

【问题讨论】:

    标签: ios distribution


    【解决方案1】:

    我建议您让他们在 xcode4 的 Product 菜单下进行“存档”,然后将生成的应用程序发送给您。

    然后您可以将其导入您的系统,并使用 xcode 管理器的“共享”按钮使用您的企业私钥和企业配置文件退出应用程序。

    所以总体结果是他们不必与您分享他们的源代码,您也不必与他们分享您的密钥。

    我见过 xcode 的辞职似乎不起作用的情况;在这种情况下,您可以使用https://github.com/maciekish/iReSign 来完成辞职部分。

    【讨论】:

    • +1 是唯一理智的解决方案。共享您的私钥是危险的。 (此外,如果 Apple 发现密钥共享一直在进行,他们可能会撤销您的证书。)
    • mpontillo,您能否澄清一下 Apple 企业开发帐户的声明? (e) 仅向您的员工和/或许可用户分发配置文件,同时您在部署设备上部署内部使用应用程序,供您的员工和/或许可用户内部使用;
    【解决方案2】:

    您必须与第三方共享您的开发者证书(使用您的私钥 (.p12) 分发)才能使用您的配置文件。但正如您所提到的,您可以使用完整的限定符(如 com.yourcompany.appname)作为捆绑标识符来限制配置文件。但这并不意味着他们不能使用配置文件,他们可以更新捆绑标识符来测试他们的应用程序。

    开发者证书和配置文件附带到期日期,这可能是您最后的希望。

    如果我可以建议的话,我建议您信任您的开发人员。我确实用证书管理了几个客户,我不会滥用。

    我还建议您在合同中添加一条条款,以免滥用您的供应或分发证书。聪明的开发者不需要证书,因为我们知道如何修补 xcode 以在没有代码签名的情况下在设备上运行。

    【讨论】:

    • 因此,简而言之,他们可能使用分发证书私钥在我们不知情的情况下发布具有相同证书的另一个应用程序?
    • 不是 Appstore,但他们可以使用您的 Enterprise 分发配置文件为 beta 测试人员分发应用程序。如果您没有企业帐户,仅使用个人开发者帐户,则他们无法为您帐户中添加的设备以外的设备分发应用程序。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-09-03
    • 2013-02-07
    • 2014-08-11
    • 2014-06-18
    • 1970-01-01
    • 2015-09-11
    • 1970-01-01
    相关资源
    最近更新 更多