苹果推送通知分发证书的签名请求需要与用于签署应用程序的分发证书相同吗?

10

我有一个已经创建的应用程序,并最近配置了推送通知。

在配置时,我被要求上传证书签名请求(CSR)。我不再拥有用于发布应用程序的原始CSR。这是我需要上传到推送通知配置中以接收我的推送通知证书的CSR吗?

我有可用的分发证书和私钥。

我试图创建一个新的CSR,以上传到开发者门户网站来检索我的推送通知证书。

当我将此文件与我的私钥(p12文件)组合并尝试连接到推送通知服务器时,我会收到以下错误:

error setting private key 42600:error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch:/SourceCache/OpenSSL098/OpenSSL098-44/src/crypto/x509/x509_cmp.c:406:

这是因为我使用新的CSR创建了推送通知证书吗?

1个回答

28

全新生成CSR是没有问题的,你只是在.p12文件中使用了错误的私钥。

生成推送证书,然后从苹果下载并双击它将其添加到钥匙串中。

打开钥匙串访问,找到“我的证书”下的推送证书并展开它。你应该会看到一个私钥,那就是与此证书相对应的正确私钥。选择证书和它的私钥,右键点击并选择“导出2项...”

得到的.p12文件,一切都应该正常运作。


太好了,对我有用。我不知道为什么,但我也收到了“设置私钥错误”的消息,在将CER插入钥匙串后,再将私钥保存为P12后,该消息消失了。谢谢。 - Benjamin Piette
你好,我知道这已经是很久以前的事了,但这意味着生产证书和APNS证书必须具有相同的私钥吗?如果使用不同的Mac来创建证书会怎样? - user3689913

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接