2012-08-16 53 views
9

更新时间:我是否应该为开发/生产iOS推送通知证书使用相同的CSR?

我发现,创造的iOS推送通知证书时,我可以提交相同的CSR两个开发和生产。

对于需要创建2个证书(开发/生产)的单个应用程序,所以对于10个应用程序,我需要创建20个证书 - 这对于证书管理来说是一场噩梦,并且污染了我的钥匙串,所以我想通过提交相同的CSR(因此相同的私钥)..更容易维护的东西。

我想知道是否有任何缺点,你是不是也做同样的方式来减少按键/证书管理的努力?

回答

18

你不一定必须使用不同的私钥进行开发和生产,但你应该,特别是如果你在一个大型团队或与外部开发者的工作。

有测试通知代码每个开发者将需要访问私钥的开发证书。如果您为生产证书使用相同的密钥,则还可以授予他们在生产系统中发送通知的权限。这一切都归结为信任 - 您是否相信您的团队中的每个开发人员都不会使用该密钥与您的付费客户永远玩弄恶作剧?

如果你独自工作,或者如果你真的在你的团队相信大家完全继续使用一个密钥。但如果有人滥用密钥,请考虑后果。

0

这里ProvisioningDevelopment

你必须得到沙箱(开发)环境和生产环境中独立证书看。证书与作为推送通知接收者的应用程序的标识符相关联;此标识符包含应用程序的包ID。为其中一个环境创建配置文件时,必需的权利会自动添加到配置文件中,包括特定于推送通知的权利。这两个配置文件称为“开发和分发”。分发配置文件是将您的应用程序提交到App Store的要求。

+0

其实我不是在讨论'provisioning'。但创建推送通知的证书。对于一个应用程序,我需要创建2个证书(开发/生产),所以对于10个应用程序,我需要创建20个证书 - 这对于证书管理来说是一场噩梦,所以我想通过提交相同的CSR(因此相同的私钥)..更容易维护。 – Howard 2012-08-19 17:13:08

0

要改写shannoga的答案。虽然您可以在开发阶段使用相同的证书,但每个应用程序在提交到应用商店时都需要正确的证书。最好的做法是在两个阶段为应用程序创建适当的证书,这样你肯定能够符合苹果标准。

仅仅因为一些作品,不作它的权利。通过在开发阶段正确维护证书,当您不得不转换到生产时,它会使开发更容易,因为您的代码不会依赖捷径。

相关问题