7

我有一个类似的问题:生产环境中的 Apple 推送通知:无法获取本地颁发者证书 ,但在我的本地计算机中。我遵循了本教程:http ://www.raywenderlich.com/3443/apple-push-notification-services-tutorial-part-12但在这一步

openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert PushChatCert.pem -key PushChatKey.pem

它说:

(很多数字和字母)验证返回码:20(无法获得本地颁发者证书)

问题是什么?谢谢

4

3 回答 3

15

问题是您使用的是用于开发的“沙盒”APNS 服务器。

为了测试生产证书,您必须连接到生产 APNS 服务器。您可以使用以下地址:

gateway.push.apple.com:2195代替gateway.sandbox.push.apple.com:2195

于 2012-11-17T18:52:25.350 回答
15

不是问题。实际上,这是确认您的证书有效。如果它不起作用,你会得到这样的东西:

unable to load client certificate private key file
<XXXXX>:error:<XXXX>:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt:evp_enc.c:539:
<XXXXX>:error:<XXXX>:PKCS12 routines:PKCS12_pbe_crypt:pkcs12 cipherfinal error:p12_decr.c:104:
<XXXXX>:error:<XXXX>:PKCS12 routines:PKCS12_item_decrypt_d2i:pkcs12 pbe crypt error:p12_decr.c:130:
<XXXXX>:error:<XXXX>:PEM routines:PEM_READ_BIO_PRIVATEKEY:ASN1 lib:pem_pkey.c:132:

有关示例,请参阅本教程 http://lessons.runrev.com/s/lessons/m/4069/l/53405-how-do-i-use-push-notifications-with-ios

或者,如果您想从 ray http://www.raywenderlich.com/forums/viewtopic.php?t=380&p=7734听到它

这里有一个解释:OpenSSL:无法验证 Experian URL 的第一个证书

但本质上,如果您使用支持证书发现的客户端,证书将起作用,并且您不需要 openssl 来工作,只是为了确认您的证书正确,并且您已经做到了。

于 2013-08-13T01:12:40.633 回答
0

也许您正在使用开发证书,您需要使用苹果开发 IOS 推送服务证书,并且您需要从该证书创建 .p12,而不是从开发证书。

于 2014-03-25T12:29:47.080 回答