iOS 内部分发由外部供应商开发的应用程序
第三方开发了一款供我们企业环境中私人使用的应用程序。现在是时候分发它了,但他们不想向我们发送他们的代码。我感觉这会导致问题,因为分发配置文件和证书必须发送给他们,从而损害我们的私钥,这是我们不允许的。
这是正确的吗?或者可以在不泄露我们的私钥的情况下完成此操作吗?
编辑:作为旁注,我可以向他们发送一个私钥,如果它只能在每个应用程序中使用,即仅与该应用程序捆绑包 ID 一起使用,并且我们可以在一个企业许可证下拥有具有不同私钥的不同应用程序。
A 3rd party has developed an App for private use in our enterprise environment. Now its come time to distribute it and they don't want to send us their code. I have a feeling this will cause an issue because the distribution profile and certificate would have to be sent to them compromising our private key which we couldn't allow.
Is this correct or can this be done without compromising our private key.
Edit: as a side note, I'm ok with sending them a private key if it only is useable per App, ie only with that App bundle ID and we can have different Apps with different private keys under the one enterprise licence.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我建议您要求他们在 xcode4 的“产品”菜单下执行“存档”,然后将生成的应用程序发送给您。
然后,您可以将其导入到您的系统中,并使用 xcode Organizer 的“共享”按钮,使用您的企业私钥和企业配置文件来退出应用程序。
因此,总体结果是他们不必与您共享源代码,您也不必与他们共享密钥。
我见过 xcode 的辞职似乎不起作用的情况;在这种情况下,您可以使用 https://github.com/maciekish/iReSign 来完成辞职部分。
I'd suggest that you ask them to do 'Archive' under the Product menu in xcode4 and send you the resulting application.
You can then import that into your system, and use xcode organizer's "share" button to resign the app using your enterprise private key and the enterprise provisioning profile.
So the overall result is that they don't have to share their source code with you, and you don't have to share your key with them.
I have seen cases where xcode's resigning doesn't seem to work; in that case you can use https://github.com/maciekish/iReSign to do the resigning part.
您必须与第三方共享您的开发人员证书(使用您的私钥 (.p12) 进行分发)才能使用您的配置文件。但正如您所提到的,您可以使用完整的限定符(如 com.yourcompany.appname)作为包标识符来限制配置文件。但这并不意味着他们不能使用配置文件,他们可以更新捆绑包标识符来测试他们的应用程序。
开发人员证书和配置文件都带有到期日期,这可能是您最后的希望。
如果我可以建议的话,我建议您信任您的开发人员。我确实用证书管理几个客户,而且我没有滥用证书。
我还建议您在合同中添加一项条款,以免滥用您的配置或分发证书。聪明的开发人员不需要证书,因为我们知道如何修补 xcode 以在没有代码签名的情况下在设备上运行。
You had to share your developer certificate (Distribution with your private key (.p12)) with the third party in order to use your provisioning profile. But as you mentioned you could use complete qualifier like com.yourcompany.appname as a bundle identifier to restrict the provisioning profile. But it does not mean that they can't use the provisioning file, they could update bundle identifier to test their app.
Developer certificate and provisioning profile are comes with the expiry date which could be your final hope.
If I may suggest, I suggest you to trust your developers. I do manage couple of clients with certificate and I don't misuse.
I also suggest you to add a clause in your contract not to misuse your provisioning or distribution certificates. Clever developers don't need certificate as we know how to patch xcode to run on device without code signing.