iPhone:如何/是否在新证书中包含我现有的私钥?

M K*_*atz 5 iphone certificate private-key

精简版:

我是否有必要甚至可能根据我现有的私钥生成新的分发证书,或者对于新应用和应用商店现有应用的更新都没有任何损害,以生成具有新私有的新证书键?

长版:

在我看来,iPhone开发人员计划用户指南中存在关于私钥和分发证书过期的冲突/误导信息.

一方面,它表示你应该保护自己的私钥,并保留一份副本,以便在更换开发者机器时可以在新机器上使用它.我的理解是,你必须抓住你的一个真正的私钥(即你在申请第一个证书时为你的公司生成的第一个私钥),并永久使用它(至少,一旦你部署了一个app,就永远使用它)用它到App Store).

另一方面,它告诉您分发证书在一年后到期,您可以在需要时简单地申请新的分发证书.对我来说有意义的是,如果他们跟着一个开头的段落"因为在请求新证书时使用原始私钥对您来说至关重要,这就是您如何申请从预先创建的证书现有私钥......"但是没有这样的段落,在搜索之后我还没有听说过这样做的方法.

stackoverflow上有这个密切相关的帖子:iPhone分发证书丢失的私钥.什么是解决方案?

该问题的答案似乎表明,当分发证书丢失或过期时,您可以撤消它并创建一个新的分发证书,并且对您当前在应用商店中的应用程序没有任何影响,并且您可以继续发布新的应用程序没有Apple的新证书说"嘿,你和以前不一样."

该帖子未回答的一个关键问题是,是否可以使用与之前发布的应用程序不同的证书/密钥来更新应用程序商店中的现有应用程序.但我在其他地方也听说过这也是可能的.

因此,它可归结为:苹果公司是否误导您的私钥真的是将应用程序标识为来自您公司的东西?它真的只是您的应用程序ID加上您登录开发门户网站的凭据以及识别您的公司和应用程序的itunesconnect吗?

Bra*_*rad 3

可以生成新的私钥并使用它,而不会中断您的应用程序。我从第一手经验中知道这一点 - 因为我丢失了密钥,不得不使其无效,并重新生成一个新密钥 - 之后我需要签署对我的两个现有应用程序的更新(使用旧密钥签名) - 并且向 AppStore 提交更新。

无论是在密钥被撤销后现有的应用程序,还是在人们更新后的新更新,都没有出现中断。在应用程序更新期间,应用程序中的用户数据也没有丢失。简而言之,一切都完全无缝。

有一个主题正在讨论推送通知是否会继续正常工作(如果您的应用程序使用它们)。但我不能这么说。